ウインドウをデスクトップ中央に移動させる

  はじめに



メインウインドウを使うとなにかと面倒になるので、ダイアログボックスに「リストビュー」を貼り付けて使用します。リストビューの項目は、ウインドウハンドル・タイトルテキスト・クラス名・プロセスIDです

Notepad.exe を起動した後、デスクトップで表示されているウインドウの一覧をリストビューに取得してプロセスID が一致するウィンドウを探し、そのウィンドウのウィンドウハンドルに対して WM_COMMAND メッセージを PostMessage で送ってメモ帳のメニュー処理を外部から実行します

ウインドウハンドルが解っているので、以下の関数もメモ帳に対して使用できます。また、WM_COMMAND だけでは無く、WM_CLOSE を送れば、メモ帳は終了します

注意するのは、PostMessage を使うというところで、決して SendMessage は使用してはいけません



  必要な関数


  • GetDesktopWindow
  • GetWindowRect
  • MoveWindow



  •   関数

      
    void CenterWindow( HWND hWnd )
    {
    
    	RECT rTop;
    	RECT rMe;
    
    	GetWindowRect( GetDesktopWindow(), &rTop );
    	GetWindowRect( hWnd, &rMe );
    	MoveWindow( hWnd
    		,rTop.right/2 - (rMe.right-rMe.left)/2
    		,rTop.bottom/2 - (rMe.bottom-rMe.top)/2
    		,(rMe.right-rMe.left)
    		,(rMe.bottom-rMe.top)
    		,TRUE
    	);
    
    }
    
      










      infoboard   管理者用   
    このエントリーをはてなブックマークに追加





    フリーフォントWEBサービス
    SQLの窓WEBサービス

    SQLの窓フリーソフト

    素材

    一般WEBツールリンク

    SQLの窓

    フリーソフト

    JSライブラリ