もう一度私はあなたの助けが必要です。 私はこれを何十回も検索しましたが、有用な情報はほとんど見つかりませんでした。Windowsフォームアプリケーションを.exeプロセスに接続する方法
私はこのプロジェクトの背後にあるアイデアは、私のVB.NETのWindowsフォームアプリケーションを "カウンターストライクグローバルな攻撃"と呼ばれるゲームにつけることです、これはカンニングではありません!
私の意図は...などなど、時間など、基本的に私が遊んでいる間に見ることができるいくつかの有用なツールです
[問題] は私がしかし逆に、これが実行された場合には、いくつかのビデオを見てきました、つまり、既存のプロセスをWindowsフォームに接続したことを意味します。私は男がcalc.exeを彼のWindowsフォームアプリケーションに添付したビデオを見ました。わかっているように、私はそれとは反対に、私のウィンドウフォームを既存のアプリケーションに付けたいと思っています。
[私が試した事] だから私は何をしたか、彼のC#のコードをコピーしてvb.netにそれを翻訳し、それを周りに混ぜることだった、と私はひどくめちゃめちゃ:D
私は私のプロジェクトを実行するには、各プロセス(ゲーム&アプリケーション)の少なくとも200個のインスタンスを起動し、私はそれらをシャットダウンする私のPCを再起動する必要があるだろう:私はあなたのコードをよりこのように見て期待
Imports System.Windows.Forms
Imports System.Threading
Imports System.Diagnostics
Imports System.Runtime.InteropServices
Partial Public Class CubicCheat
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
<DllImport("USER32.DLL")> _
Private Shared Function SetParent(hwc As IntPtr, hwp As IntPtr) As IntPtr
End Function
Private Sub CubicCheat_Load(sender As Object, e As EventArgs) Handles MyBase.Load
HookCsgo()
End Sub
Function HookCsgo()
Dim csgo As Process = Process.Start("C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\csgo.exe")
Dim cubic As Process = Process.Start("C:\Users\redfa_000\Documents\Visual Studio 2012\Projects\C++ Projekter\Crazy Tutorials\CubicHook\CubicHook\bin\Debug\CubicHook.exe")
Thread.Sleep(500)
cubic.WaitForInputIdle()
SetParent(cubic.MainWindowHandle, csgo.Handle)
Dispose()
End Function
End Class
CS:GOのようなゲームには標準のウィンドウメッセージループが含まれていないか、または特定のメッセージを違う方法で無視/処理するので、実行しようとしていることができない可能性があります。 DirectXとフック(_ ** VAC ** _とも呼ばれる_ ** Valve Anti-Cheat System ** _に注意してください)を介してゲーム画面に物を描画することは可能ですが、自分でヒットテストとクリックを認識することができます。 –
さて、ImGUI、DirectX、OpenGLなどでフックや物事について少し聞いたことがありますが、C#++のものではありませんか? D:D –
DirectXは主にC++ですが、C#とVBの両方で動作するSlimDXやSharpDXなどの.NETラッパーがあります。これらの言語では、ネット。 –