- PR -

どなたか教えて下さい。VB.NET Process.Startメソッドの戻り値が取得できません。

投稿者投稿内容
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2004-10-26 21:43
引用:

早速空白を除いて
objPrc = Process.Start("c:Documents and Settingsysueデスクトップ10メモ帳.lnk")
として試してみましたが、結果は同じでobjPrcはNothingでした。



空白じゃなくて \ を抜いてませんか?

引用:

lnkファイルの実行ファイルのリンク先が取得できれば解決するのですが。
lnkファイルで起動したプロセスは特別なんでしょうか。



どうも、そのようですね。
.lnk の実体の取得の仕方については、GDNJ 掲示板で回答をもらってましたよね?
ysue
会議室デビュー日: 2004/07/17
投稿数: 12
投稿日時: 2004-10-27 00:52
ひどりさんへ
 アドバイスありがとうございます。
objPrc = Process.Start("c:\Documents and Settings\ysue\デスクトップ\010メモ帳.lnk")
としてまして、\は抜いてませんが、掲示版では抜けて表示されていますか。自分が確認したところちゃんとはいっていましたが。
ハイ、GDNJ掲示板にも質問してまして、先ほどカズさんからsanta marta さんのサイトに取得する方法が載っているとアドバイスいただきまして、自分なりに理解しているところです。
それとVBレスキューにも質問していますが、こちらはまだ返事はありません。
お蔭様で解決の方向はわかったのですが、なかなか思うように行きません。
複数の掲示板に質問すると回答が多くいただけまして、感謝しています。
自分も教わるだけでなくアドバイスできるように頑張りたいと思っています。
ysue
会議室デビュー日: 2004/07/17
投稿数: 12
投稿日時: 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
の使い方をよく理解してないからだと思っています。
いい情報がありましたらお願いします。
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2004-10-29 11:10
>>lnkファイルで起動したプロセスは特別なんでしょうか。
Cygwin の中で 起動するとエラーになるので、そのようです
メモ帳のリンクを作り
> notepad.lnk
コマンドプロンプトではOk。Cygwinではエラー
> start notepad.lnk
どちらでも、正常
.lnk 起動は シェルのようなものが間に入って処理するようです
直接の子プロセスとは違うらしい。

[ メッセージ編集済み 編集者: MMX 編集日時 2004-10-29 11:12 ]

スキルアップ/キャリアアップ(JOB@IT)