- 締切済み
VB.NETでの他アプリケーションのメニュー項目編集方法
VB.NETでメモ帳の様なアプリケーションのメニュー項目(ファイル⇒開くなど)を 表示しないようにする方法としてはどのようなものがありますでしょうか? 色々調べたところ、Win32APIにて、GetMenuItemInfoやRemoveMenuを 使用して行うのかな?と思っているのですが、他に方法はありますでしょうか? 例えば、.NET Frameworkのクラスを使用するとか。。。 ご存知の方がいらっしゃいましたらご教示願えれば幸いです。 よろしくお願い申し上げます。 以上です。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- AKARI0418
- ベストアンサー率67% (112/166)
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だと変化がないんです。 なぜかちょっとわからないですが、参考までに。
お礼
情報ありがとうございます。 VB6だと出来るんですね。 .NET Frameworkを使ってできれば楽なんですけどね。。。 VB6で作ってみようかと思います。 早々に情報を頂いたのにお礼が遅くなり申し訳ございません。 この度はありがとうございました。