- スレ立てるまでもない質問はここで 138匹目
663 :デフォルトの名無しさん[]:2014/10/02(木) 01:25:18.01 ID:fAMLxuQy - >>661
早速ありがとうございます。 試してみましたが、 やはり、カレントがルートディレクトリに変更されてしまいました。 _chdrive だと、つながっているドライブ全部 カレントディレクトリ維持したままドライブ変えられるんですが。 Win32のSetCurrentDirectoryもアカンし・・・
|
- スレ立てるまでもない質問はここで 138匹目
664 :デフォルトの名無しさん[]:2014/10/02(木) 01:30:43.99 ID:fAMLxuQy - 不思議ですが、
「_chdrive 関数は、…(Win32の)SetCurrentDirectory 関数に依存」となってるのに、 なんでSetCurrentDirectoryでは変わってしまうんだろ?
|
- スレ立てるまでもない質問はここで 138匹目
665 :664[]:2014/10/02(木) 01:47:38.62 ID:fAMLxuQy - スンマセン、勘違いしてました。
できないのはDirectory.SetCurrentDirectoryの方で、 VC++の方で、Win32の方はできました。 C#からWin32の方をコールして変更することにします。
|
- スレ立てるまでもない質問はここで 138匹目
666 :664[]:2014/10/02(木) 02:02:32.40 ID:fAMLxuQy - SetCurrentDirectory の古い書き付け見つけた。
この関数は C言語の _chdir 関数、_chdrive 関数と似ていますが、細かい点で少し違います。 例えば、カレントディレクトリを変更した後にカレントドライブを変更し、 あらためて元のカレントドライブに戻した場合、 _chdir 関数では、変更後のカレントディレクトリを保持しています。 SetCurrentDirectory 関数では、コマンドプロンプトから実行した場合は、 変更前の現在のプロセスが開始したカレントディレクトリ、すなわち、 システムあるいは親プロセスから引き継いだカレントディレクトリに戻ってしまいます。 エクスプローラから実行した場合は、そのドライブのルートディレクトリに戻ってしまいます。
|
- スレ立てるまでもない質問はここで 138匹目
667 :664[]:2014/10/02(木) 02:04:13.86 ID:fAMLxuQy - _chdrive は自身の内部で静的領域を持っているのかな?
|