读书人

在VB6中打一个word文档如何禁用另存

发布时间: 2012-05-28 17:59:33 作者: rapoo

在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 

读书人网 >VB

热点推荐