こんにちは、C# を使用して (最小化されていても) 実行中の他のプログラムにウィンドウを切り替えようとしています。
なぜこれがうまくいかないのか疑問に思っています。
エラー メッセージ: 引数 1: 'System.Diagnostics.Process' から 'System.IntPtr' に変換できません
ループに到達するまでに、proc 変数が適切なウィンドウ ハンドラを参照していると思います。これは真実ではありませんか?本当に助かります。
//declarations
using system.IO;
using System.Runtime.InteropServices;
//more
//namespace here
//class here
//initialize method
//related .dll import
[DllImport("user32.dll")]
public static extern void SwitchToThisWindow(IntPtr hWnd);
String ProcWindow = "itunes";
//function which calls switchWindow() is here but not important
//now we have switch window.
private void switchWindow()
{
Process[] procs = Process.GetProcessesByName(ProcWindow);
foreach (Process proc in procs)
{
//switch to process by name
SwitchToThisWindow(proc);
}
}
将来の読者のために: 別の質問からコードのこの時点に到達しました。 フォーカスを別のアプリケーションに切り替える正しい方法 (.NET)