ただの赤いウィンドウであるサードパーティのアプリケーションがあるとします。ウィンドウハンドルを取得したら、その色を変更する簡単な方法はありますか?
質問する
1101 次
1 に答える
2
これまでに思いついたのは、使用することですGraphics.FillRectangle
Graphics g = Graphics.FromHwnd(handle);
g.FillRectangle(Brushes.Green, new Rectangle(0, 0, 10000, 10000));
完全な winform の動作例:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
foreach (var p in Process.GetProcesses())
{
if (p.MainWindowTitle.Contains("Window Name"))
{
IntPtr handle = p.MainWindowHandle;
if ((int)handle != 0)
{
Graphics g = Graphics.FromHwnd(handle);
g.FillRectangle(Brushes.Green, new Rectangle(0, 0, 10000, 10000));
}
}
}
}
}
ここで説明されているように、 GetWindowRectを使用してウィンドウ サイズ情報を取得することもできます:
幅と高さに 10000 を使用しないように、そのハンドルでウィンドウの境界を取得します。
于 2012-11-16T00:58:02.980 に答える