トップ回答者
NotePad, WordPad の起動オプションを知りたい

質問
-
回答
-
タイトル(キャプション)の内容だけ変えたいなら WinAPIのSetWindowTextあたりで変更できますが ・・・
Processクラスなどから起動しておいて ProcessのMainWindowHandleをつかって SetWindowTextを呼び出せばいいようです
Code Snippetprivate void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Process oPro = new System.Diagnostics.Process();
oPro.StartInfo.FileName = "notepad.exe";
oPro.StartInfo.Arguments = "..\\..\\sample.txt";
oPro.Start();
oPro.WaitForInputIdle();
// ココで任意の文字列に変更
SetWindowText(oPro.MainWindowHandle, "C#からこんにちは");
}
[DllImport("USER32.DLL", EntryPoint="SetWindowTextW", CharSet=CharSet.Unicode)]
public static extern int SetWindowText( IntPtr hWnd, String strText );
ただし『名前をつけて保存』や『上書き保存』などのファイル名は面倒見てくれません ・・・ 当たり前ですが
メモ帳の起動オプションは /P /PT /A /Wの4種類のようですよ ・・・ バイナリエディタで見る限り
/A /Wは Ansi/Unicodeのようです、/Pは印刷かな? /PTは不明です ・・・
すべての返信
-
-
タイトル(キャプション)の内容だけ変えたいなら WinAPIのSetWindowTextあたりで変更できますが ・・・
Processクラスなどから起動しておいて ProcessのMainWindowHandleをつかって SetWindowTextを呼び出せばいいようです
Code Snippetprivate void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Process oPro = new System.Diagnostics.Process();
oPro.StartInfo.FileName = "notepad.exe";
oPro.StartInfo.Arguments = "..\\..\\sample.txt";
oPro.Start();
oPro.WaitForInputIdle();
// ココで任意の文字列に変更
SetWindowText(oPro.MainWindowHandle, "C#からこんにちは");
}
[DllImport("USER32.DLL", EntryPoint="SetWindowTextW", CharSet=CharSet.Unicode)]
public static extern int SetWindowText( IntPtr hWnd, String strText );
ただし『名前をつけて保存』や『上書き保存』などのファイル名は面倒見てくれません ・・・ 当たり前ですが
メモ帳の起動オプションは /P /PT /A /Wの4種類のようですよ ・・・ バイナリエディタで見る限り
/A /Wは Ansi/Unicodeのようです、/Pは印刷かな? /PTは不明です ・・・
-
redfox63 さん、サンプル コードありがとうございます。
redfox63 さんからの引用 タイトル(キャプション)の内容だけ変えたいなら WinAPI の SetWindowText あ
たりで変更できますが ・・・Process クラスなどから起動しておいて Process の MainWindowHandle をつかっ
て SetWindowText を呼び出せばいいようです
おぉ、そんなものがあるなら、試しに使ってみます。
redfox63 さんからの引用 メモ帳の起動オプションは /P /PT /A /W の4種類
覗 (のぞ) かれたんですね。ありがとうございます。
こちらでも覗いてみました。確かにありますね。
redfox63 さんからの引用 /A /W は Ansi/Unicode のようです、/P は印刷かな? /PT は不明です ・・・
/pt で印刷ジョブが走り出しました。
WordPad も覗いてみましたが、こちらは /p, /pt しか見当たりませんでした。どちらも古くて、アンマネージなプログラムじゃなかったでしたっけ?
余り期待し過ぎない方が良いようですね。