- 題名: SendMessageにつきまして
- 日時: 2006/02/14 17:18:17
- ID: 14996
- この記事の返信元:
- (なし)
- この記事への返信:
- [15000] Re[1]: SendMessageにつきまして2006/02/14 21:47:28
- ツリーを表示
> Declare Function Api_SendMessage Lib "user32" Alias "SendMessageA"(ByVal hWnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByRef lParam As Short) As Integer > 'Ret = Api_SendMessage(child, WM_GETTEXT, Len(txt), txt) 上記の第4引数を文字列で扱いたいなら、宣言も ByVal lParam As String) に 変更して下さい。 文字列と整数値とどちらも扱う場合は、SendMessage API の宣言を2個両方の型で 宣言して下さい。 尚、.NET 関係で Win32 API関数を扱う場合は文字列の宣言は注意して下さい。 <System.Runtime.InteropServices.DllImport("USER32.DLL", _ CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _ Private Shared Function SendMessage( _ ByVal hWnd As IntPtr, _ ByVal wMsg As Integer, _ ByVal wParam As Integer, _ ByVal lParam As String) As Integer End Function
分類:[.NET]
2006/02/14(Tue) 20:38:34 編集(投稿者)
お世話になります。宜しくお願い致します。
VB6.0→VB.NET2005にアップグレード後SendMessageはVB.NET2005に変換
されますが、修正する必要のコメントが表示されました。
試しにSendMessageサンプルをダウンロードしても同じ結果になりました。
As Any キーワードは Visual Basic .NET ではサポートされませんとある
ことはわかりましたが、どのような方法で行えば良いのか参考になります
対処方法で、ご存じの方がおりましたらご教授を、お願いできませんでしょうか。
宜しくお願い致します。
--------------------参考例--------------------------------------------
'
'Ret = SendMessage(child, WM_GETTEXT, Len(txt), txt) 'VB6.0
↓
VB6.0→VB.NET2005にアップグレード
↓
Ret = SendMessage(child, WM_GETTEXT, Len(txt), ByVal txt) 'VB.NET2005
'
-----------------------------------------------------------------------