VB.NET質問スレ (Part ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
754:デフォルトの名無しさん 06/12/26 21:04:56 もうぶっちゃけちゃうと、 COPYDATASTRUCT.lpData をIntPtrにして文字列をMarshal.AllocHGlobal, Marshal.StringToHGlobalAutoで割り当てる (あとでFreeHGlobal) んで sendMes.cbData = (sendMes.lpData.Length + 1) * 2 COPYDATASTRUCTそのものもMarshal.StructureToPtr, Marshal.StructureToPtrでメモリに割り当てて (あとでFreeHGlobal) そいで SendMessageの第4引数をByVal IntPtrにする。 755:デフォルトの名無しさん 06/12/26 21:17:52 もうこれはあきらめるしか無いのですかね、、、 Const WM_COPYDATA As Integer = &H4A Declare Ansi Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer Declare Unicode Function SendMessage Lib "user32.dll" Alias "SendMessageW" (ByVal hWnd As Integer, ByVal MSG As Integer, ByVal wParam As Integer, ByRef lParam As System.IntPtr) As Integer Sub main() Dim sendMes As New COPYDATASTRUCT Dim str As String = "TestAPP" + ChrW(0).ToString + "Music" + ChrW(0).ToString + "1" + ChrW(0).ToString + "{0} - {1}" + ChrW(0).ToString + "TEST" + ChrW(0).ToString + "TEST" Dim ptr As IntPtr sendMes.lpData = System.Runtime.InteropServices.Marshal.AllocHGlobal(System.Runtime.InteropServices.Marshal.StringToHGlobalAuto(str)) sendMes.cbData = (str.Length + 1) * 2 System.Runtime.InteropServices.Marshal.StructureToPtr(sendMes, ptr, True) SendMessage(FindWindow("MsnMsgrUIManager", Nothing), WM_COPYDATA, Nothing, ptr) System.Runtime.InteropServices.Marshal.FreeHGlobal(sendMes.lpData) System.Runtime.InteropServices.Marshal.FreeHGlobal(ptr) End Sub Public Structure COPYDATASTRUCT Const dwData As Integer = 1351 Public cbData As Integer Public lpData As System.IntPtr End Structure
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5000日前に更新/273 KB
担当:undef