夕暮ログ

C#やJavascript、最近はAndroidなんかも好きなtinqのブログ。「夕暮れログ」

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ファイル名を指定して実行を表示

ファイル名を指定して実行を表示します。プログラマーとかは[Win]+[R]とかでぱっと開くことがよくあると思います
タスクマネージャなどからも「新しいタスクの作成」でも同じようなダイアログが表示されますが、このようなことも可能です。 #61を指定してDllImportしましょう。

宣言

[DllImport("shell32.dll", CharSet = CharSet.Auto, EntryPoint = "#61")]
static extern void SHRunFileDialog(IntPtr hwndOwner, IntPtr hIcon, 
string lpszPath,string lpszDialogTitle, string lpszDialogTextBody, 
RunFileDialogFlags uflags);

引数

IntPtr : hwndOwner
親ウィンドウのハンドル
IntPtr : hIcon
表示するアイコンのハンドル。XPでは30x37の大きさでした。
Icon.HandleまたはBitmap.GetHIconで取得した値を渡してください。IntPtr.Zeroを渡すと初期の画像が利用されます。
string : lpszPath
検索するディレクトリのパス。これに指定したほかに、環境変数のPathに設定された場所を検索します。
string : lpszDialogTitle
ダイアログのタイトルです。
string : lpszDialogTextBody
ダイアログに表示される説明です。
RunFileDialogFlags uflags
表示につかうフラグを指定します。以下のフラグを組み合わせます。
実際に列挙体にしたものは下記のサイトにあります。
None 0x0000 特なし
NoBrowse 0x0001 [参照]ボタンを表示しません
NoDefault 0x0002 初期コンボボックスに表示されている履歴を表示しません
CalcDirectory 0x0004 現在の作業フォルダの中を検索します(指定しなくても第二引数は有効?)
NoLabel 0x0008 コンボボックスの横に表示されるラベルを表示しません
NoSeperateMemory 0x0020 メモリースペースを分けるチェックボックスを表示しません。(詳細不明)
実際の使用例はこちらです。CommonDialogでラップしてあるのでとても簡単に使えるようになっています。
ファイル名を指定して実行ダイアログ
そろそろネタ切れ間近。次はファイルオペレーターをやります。
関連記事

コメント

ここをクリックしてコメントを投稿

非公開コメント

トラックバック

http://tinqwill.blog59.fc2.com/tb.php/6-cd4c4bc7

« next  ホーム  prev »

プロフィール

tinq tinq(もしくはTinqWill)

Sky  For   Every 改装予定

プログラミングお勉強中の高校生。月一くらいは更新したい

最新記事

カテゴリ

月別アーカイブ

検索フォーム

最新コメント

リンク

最新トラックバック

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。