最新の更新情報

 
このブログ「吟遊詩人の戯言」 の記事検索...

【C#】フォームを最背面(最後面)にしたいとき

関連記事

怪しい常駐ソフト
DELPHIで書いていたんだけど,どうも調子悪い...

ってことで,C#で書き直してみたり...

いや,ものの10分で,コア部分が出来たり(爆
便利な世の中やなぁ~

ただ,フォームを最背面(最後面)にする方法が全くわからず...

Form.SendToBack()メソッドを飛ばせば
なんとなく,背面に行きそうだったけど,なんか,イマイチオーラが出てて

あれこれ調べていったら
何のことは無い
フォームをディスクトップの子として,ぶら下げればいいらしい
ソースは,こんな感じ?





[System.Runtime.InteropServices.DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);


private void Form1_Load(object sender, EventArgs e)
{

  IntPtr tmpdesktop = FindWindow(null, "Program Manager");
  if(tmpdesktop != null) {
    SetParent(this.Handle, tmpdesktop);
  }
}

手元の技術試験アプリ,期待通り,最背面に移動してくれています

 
 
 
 

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">