在VB6中打一个word文档,怎么禁用另存为功能。
在VB6中打一个word文档,怎么禁用另存为功能。
还有画图,记事本之类。都能禁用另存功能吗。。
谢谢。。。。
[解决办法]
给你个让计算器关闭不了的例子
- VB code
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As LongPrivate Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As LongPrivate Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As LongPrivate Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As LongPrivate Declare Function EnableMenuItem Lib "user32" (ByVal hMenu As Long, ByVal wIDEnableItem As Long, ByVal wEnable As Long) As LongPrivate Const MF_BYPOSITION = &H400&Private Const MF_DISABLED = &H2&Private Const MF_ENABLED = &H0&Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongDim Handle As LongDim hMenu As Long, nCount As LongPrivate Sub Command1_Click()Shell "calc.exe", 1Handle = FindWindow(vbNullString, "计算器")hMenu = GetSystemMenu(Handle, 0)nCount = GetMenuItemCount(hMenu)End SubPrivate Sub Command2_Click()Call EnableMenuItem(hMenu, nCount - 1, MF_DISABLED Or MF_BYPOSITION)DrawMenuBar HandleEnd Sub
[解决办法]
- VB code
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Const WM_CLOSE = &H10Dim Handle As LongPrivate Sub Form_Load()Timer1.Interval = 200Timer1.Enabled = TrueEnd SubPrivate Sub Timer1_Timer() Handle = FindWindow(vbNullString, "另存为") If Handle <> 0 Then SendMessage Handle, WM_CLOSE, 0, 0 End IfEnd Sub