2013-10-31 3 views
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 컴퓨터에서는 동일한 네트워크에서이 문제가 발생하지 않습니다.System.Diagnostics.Process가 네트워크 파일에서만 멈춤

왜 그런가?

그렉

나는 또한 행운과 함께 아래의 코드를 시도하고 IrfanView의 옆에 다른 이미지 뷰어를 시도하고 동일한 결과를했다

[편집]. 이 코드를 사용하면 irfanview는 유효한 파일이 아니며 정확한 경로와 파일 이름을 파일에 표시합니다. 매우 자극적. 이전 Windows API ShellExecute는 프로그램을 시작하지 않습니다. Grrrrrr !!!!

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() 
+0

irfanview에 대한 사용 권한을 확인 하시겠습니까? 방금 첫 번째 예제를 시도했지만 정상적으로 작동했습니다. 네트워크 권한이 없거나 jpg 파일이 누락 된 경우 irfanview에서 오류가 발생했습니다. 그렇지 않으면 irfanview가 파일을로드했습니다. (vs2008, win7-64) – xpda

+0

코드를 테스트 해 주셔서 감사합니다. 분명히 로컬 드라이브가 아닌 네트워크 공유에서 이미지를로드하고 있었습니까? 이미지가 로컬 드라이브에 있으면 잘 작동합니다. – user1091524

+0

또한 'irfanview의 사용 권한 확인'은 무엇을 의미합니까? 실행 파일이있는 폴더의 사용 권한? – user1091524

답변

1

코드와 관련이 없습니다. 문제는 거기에 폴더에 너무 많은 파일이 있었고 irfanview가 모두 카탈로그를 만들려고했거나 그런 일을하는 것이 었습니다. 나는 달 또는 무언가에 의하여 파일을 끊을 필요가있을 것이다.

그레그

관련 문제