|
分類:[.NET 全般]
C#でテキスト入力またはリストボックスなどからプロセス名を入力、選択でFindWindowのクラス名とウィンドウ名を取得し FindWindow("", "");の""の中に入れるにはどうすればいいですか? 現時点ではspy++をつかって調べて直接FindWindow("", "");の""の中にクラス名とウィンドウ名をいれています。 でも起動させたいプログラムは毎回起動毎にクラス名がかわるのでどうしょうかなと・・・ ソースコード メモ帳の場合 [DllImport("USER32.DLL")] public static extern IntPtr FindWindow(string lpClassName,string lpWindowName);
[DllImport("USER32.DLL")] public static extern bool SetForegroundWindow(IntPtr hWnd);
private void button1_Click(object sender, EventArgs e) {
IntPtr Handle = FindWindow("Notepad", "無題 - メモ帳"); //lpszClassName//lpszWindowName
if (Handle == IntPtr.Zero) { MessageBox.Show("Calculator is not running."); return; }
SetForegroundWindow(Handle); SendKeys.SendWait("111"); SendKeys.SendWait("*"); SendKeys.SendWait("11"); SendKeys.SendWait("="); } } }
|