Dim myProcess As System.Diagnostics.Process = New System.Diagnostics.Process()
myProcess.StartInfo.UseShellExecute = True
myProcess.StartInfo.FileName = "C:\Program Files (x86)\IrfanView\i_view32.exe"
myProcess.StartInfo.Arguments = sFileName
myProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal
myProcess.Start()
Irfanview で tif イメージを開く上記のコードは、ファイルがローカル ドライブにある場合に完全に機能します。ファイルがネットワーク共有上にある場合、Irfanview はハングしたように見え、タイトル バーに (応答なし) が表示されます。これは Windows 7 での新しい動作です。同じネットワーク上の Windows XP マシンでは、この問題は発生しません。
理由はありますか?
グレッグ
[編集]
また、以下のコードを試してみましたが、うまくいきませんでした。また、irfanview の横にある別の画像ビューアーを試してみましたが、同じ結果が得られました。このコードを使用すると、irfanview は有効なファイルではないことを通知し、ファイルへの正確なパスとファイル名を表示します。非常にイライラします。古い Windows API ShellExecute はプログラムを起動しません。うわぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ!!!
Dim domain As String = {domain}
Dim uname As String = {username}
Dim passwordtx As String = {password}
Dim password As New System.Security.SecureString()
Dim c As Char
For Each c In passwordtx
password.AppendChar(c)
Next c
Dim myProcess As System.Diagnostics.Process = New System.Diagnostics.Process()
myProcess.StartInfo.UseShellExecute = True
myProcess.StartInfo.FileName = "C:\Program Files (x86)\IrfanView\i_view32.exe"
myProcess.StartInfo.Arguments = sFileName
myProcess.StartInfo.WorkingDirectory = "C:\"
myProcess.StartInfo.UserName = uname
myProcess.StartInfo.Domain = domain
myProcess.StartInfo.Password = password
myProcess.StartInfo.UseShellExecute = False
myProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal
myProcess.Start()