初めての質問です。
開発言語:Delphi6
OS:WindowsXP
ShellExecuteExで指定したメモ帳の「名前を付けて保存」を実行した際に
保存先が実行ファイルのカレントディレクトリになっていますが
このダイアログのデフォルトディレクトリを変更することは可能でしょうか。
※設定はユーザのマイドキュメントにしようとしています。
半永久的に設定するのではなく、一時的に変更できればと考えております。
妙案があればご教授をお願い致します。
uses ShlObj;
procedure TForm1.Button1Click(Sender: TObject);
var
TSH : TSHELLEXECUTEINFO;
lpszPath: array[0..MAX_PATH] of Char;
begin
SHGetSpecialFolderPath(Handle, lpszPath, CSIDL_PERSONAL, False);
with tsh do
begin
cbSize:=Sizeof(tsh);
fmask:=SEE_MASK_NOCLOSEPROCESS;
WND:=Form1.Handle;
lpVerb:='open';
lpFile:='notepad';
lpParameters:='';
lpDirectory:=lpszPath;//★
nShow:=SW_SHOW;
end;
ShellExecuteEx(@tsh);
end;
>けどさん
回答ありがとうございます。
言葉足らずで申し訳ないです。
ShellExcuteExで開くファイルを指定したあとを想定していました。
「lpParameters:='';」となっているのでこれは新規ファイルになりますね。
当方の方で色々調べたのですが、ShellAPIでWindowsのメモ帳を操作するのは難しそうです。
ちなみにメモ帳で開いたファイルのパスはレジストリに保持しているようです。
この部分を変更するしかないようです。
ツイート | ![]() |