- - PR -
どなたか教えて下さい。VB.NET Process.Startメソッドの戻り値が取得できません。
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-10-26 21:43
空白じゃなくて \ を抜いてませんか?
どうも、そのようですね。 .lnk の実体の取得の仕方については、GDNJ 掲示板で回答をもらってましたよね? | ||||||||
|
投稿日時: 2004-10-27 00:52
ひどりさんへ
アドバイスありがとうございます。 objPrc = Process.Start("c:\Documents and Settings\ysue\デスクトップ\010メモ帳.lnk") としてまして、\は抜いてませんが、掲示版では抜けて表示されていますか。自分が確認したところちゃんとはいっていましたが。 ハイ、GDNJ掲示板にも質問してまして、先ほどカズさんからsanta marta さんのサイトに取得する方法が載っているとアドバイスいただきまして、自分なりに理解しているところです。 それとVBレスキューにも質問していますが、こちらはまだ返事はありません。 お蔭様で解決の方向はわかったのですが、なかなか思うように行きません。 複数の掲示板に質問すると回答が多くいただけまして、感謝しています。 自分も教わるだけでなくアドバイスできるように頑張りたいと思っています。 | ||||||||
|
投稿日時: 2004-10-29 00:03
これまででわかったことを報告します。
1.Process.Startメソッドは引数にlnkファイルを指定しても戻り値を返さない。 2.lnkファイルのリンク先を引数にすれば可能。 3.lnkファイルからリンク先を取得するにはIShellLinkインターフェイスを用い るとよい。 4.Windows Script Hostでもlnkファイルからリンク先を取得できそう。(?) です。 このところはWindows Script Hostでlnkファイルのリンク先を取得しようとして いるのですが、膠着状態で、VB.NETからWindows Script Host ObjectModel の使い方をよく理解してないからだと思っています。 いい情報がありましたらお願いします。 | ||||||||
|
投稿日時: 2004-10-29 11:10
>>lnkファイルで起動したプロセスは特別なんでしょうか。
Cygwin の中で 起動するとエラーになるので、そのようです メモ帳のリンクを作り > notepad.lnk コマンドプロンプトではOk。Cygwinではエラー > start notepad.lnk どちらでも、正常 .lnk 起動は シェルのようなものが間に入って処理するようです 直接の子プロセスとは違うらしい。 [ メッセージ編集済み 編集者: MMX 編集日時 2004-10-29 11:12 ] |