名前 題名 ▼ Mr.XRAYさん > > ブロック解除のプログラムを更新しました. > > また更新しました. > コマンドプロンプトから引数付きで実行した場合,結果のダイアログの表示位置を > なるべくコマンドプロンプトのウィンドウ上に表示するようにしました. > > 引数とは,ブロック解除対象のファイル名 (またはフォルダ名) です. > コマンドプロンプトから起動したかどうかの判定は, > 標準出力のハンドルが取得できたかどうかで判定しています. > > const > LWndClassName = 'ConsoleWindowClass'; > var > LhCmdPrompt : HWND; > LCmdStdOut : HWND; > begin > > //標準出力とコマンドプロンプトのハンドルを取得 > LCmdStdOut := GetStdHandle(STD_OUTPUT_HANDLE); > LhCmdPrompt := FindWindow(PChar(LWndClassName), nil); > > //コマンドラインオプション(解除対象ファイル名)を指定して実行した場合 > if ParamCount > 0 then begin > if (LCmdStdOut > 0) and (LhCmdPrompt > 0) then begin > //コマンドプロンプトから実行した場合 > end else begin > //EXEまたはEXEのショートカットから実行した場合 > end; > end else begin > //EXEを引数なしで実行した場合 > end; > > end; > > > 下の図では,コマンドプロンプトで,CD コマンド等でカレントディレクトリを > 移動していません.コマンドプロンプトをエクスプローラから起動しています. > > [エクスプローラで [ ファイル名を指定して実行 ]] > http://mrxray.on.coocan.jp/Delphi/Others/ExecuteFile.htm#05 > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link