majishiniHomeCategoriesTagsRSS.NETでフォームを最前面表示かつ他ウィンドウのフォーカスを奪わないで表示kiuyu2013/05/31Outlookみたいな通知画面を出したかったOutlookあるじゃないですか、あれって新着メールが来たら画面の右下にぴよっとポップアップというか、じわーっと表示される画面を出せますよね。あんなのを出したかった。最前面に表示される、だがしかし、表示させるときには他のウィンドウのフォーカスを奪わない。Wordで文書を書いているときにフォーカス奪われたらたまったもんじゃない。ShowWithoutActivationじゃダメFormにはTopMostというプロパティがあり、こいつをtrueにすれば最前面表示される。ShowWithoutActivationというプロパティをオーバーライドしてtrueを返すようにすると、表示する際にアクティブにならない(他ウィンドウのフォーカスを奪わない)ので、これを組み合せれば良いはず。ところが、TopMostをtrueにすると必ずアクティブになるようで、使えない。SetWindowPosする上記問題はTopMostプロパティを使わずに、SetWindowPosを呼べば解決できます。C#なら以下のメソッドを呼べばOK。}で、ShowWithoutActivation?をオーバーライドしtrueを返せば、所望の表示が可能。参考というより、パクリ元と書くべきだな。PreviousWindowsの組織や使用者をセットするPowerShellスクリプトNextコマンドラインでYouTubeの動画をダウンロードして音声ファイルに変換する。