プロが教える店舗&オフィスのセキュリティ対策術

VB.NETでメモ帳の様なアプリケーションのメニュー項目(ファイル⇒開くなど)を
表示しないようにする方法としてはどのようなものがありますでしょうか?

色々調べたところ、Win32APIにて、GetMenuItemInfoやRemoveMenuを
使用して行うのかな?と思っているのですが、他に方法はありますでしょうか?
例えば、.NET Frameworkのクラスを使用するとか。。。
ご存知の方がいらっしゃいましたらご教示願えれば幸いです。
よろしくお願い申し上げます。


以上です。

A 回答 (1件)

Private Sub Command1_Click()


Dim hMen As Long
Dim SubMen As Long
Dim Ret As Long

hMen = FindWindow("notepad", vbNullString)
hMen = GetMenu(hMen)
Ret = RemoveMenu(hMen, 0, MF_BYPOSITION)
End Sub

以下モジュール
Public Declare Function GetMenu Lib "user32" (ByVal hWnd As Long) As Long

Public Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long

Public Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long

Public Const MF_BYPOSITION = &H400
Public Const MF_BYCOMMAND = &H0
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

VB6.0だとうまくいくのですが、.NETだと変化がないんです。
なぜかちょっとわからないですが、参考までに。
    • good
    • 0
この回答へのお礼

情報ありがとうございます。

VB6だと出来るんですね。
.NET Frameworkを使ってできれば楽なんですけどね。。。
VB6で作ってみようかと思います。

早々に情報を頂いたのにお礼が遅くなり申し訳ございません。
この度はありがとうございました。

お礼日時:2009/05/11 13:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!