0
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 は有効なファイルではないことを通知し、ファイルへの正確なパスとファイル名を表示します。非常にイライラします。古い W​​indows 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()
4

1 に答える 1

1

コードとは関係ありませんでした。問題は、フォルダー内のファイルが多すぎて、irfanview がそれらすべてをカタログ化しようとしていたか、そのようなことを行っていたことです。ファイルを月ごとなどに分割する必要があります。

グレッグ

于 2013-10-31T22:19:45.963 に答える