0

パネル内に別のプログラムを埋め込むプロジェクトに取り組んでいます。これを機能させましたが、ウィンドウをフォーム内に配置できないようです。

写真:

ここに画像の説明を入力

これまで運がなかった MoveWindow と SetWindowLong を使用しています。これは私の Onload イベントです。

Dim proc As Process = Process.Start("C:\Nexon\MapleStory\MapleStory.exe", "GameLaunching")
proc.WaitForInputIdle()
SendMessage(proc.MainWindowHandle, WM_SYSCOMMAND2, SC_CLOSE, 0)

System.Threading.Thread.Sleep(5000)
Do
  System.Threading.Thread.Sleep(5000)
Loop Until FindWindow("MaplestoryClass", Nothing)
System.Threading.Thread.Sleep(500)

SetWindowLong(Processes(0).MainWindowHandle, GWL_STYLE, WS_VISIBLE)

MoveWindow(Processes(0).MainWindowHandle, Panel1.Left, Panel1.Top, Panel1.Right, Panel1.Bottom, True)

Dim FHandle As IntPtr
FHandle = FindWindow("MaplestoryClass", Nothing)
SetParent(FHandle, Panel1.Handle)

プログラムのウィンドウが表示されるまで待機してから、MoveWindow および SetWindowLong イベントを実行する方法を見つける必要があります。

4

1 に答える 1