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()
irfanview에 대한 사용 권한을 확인 하시겠습니까? 방금 첫 번째 예제를 시도했지만 정상적으로 작동했습니다. 네트워크 권한이 없거나 jpg 파일이 누락 된 경우 irfanview에서 오류가 발생했습니다. 그렇지 않으면 irfanview가 파일을로드했습니다. (vs2008, win7-64) – xpda
코드를 테스트 해 주셔서 감사합니다. 분명히 로컬 드라이브가 아닌 네트워크 공유에서 이미지를로드하고 있었습니까? 이미지가 로컬 드라이브에 있으면 잘 작동합니다. – user1091524
또한 'irfanview의 사용 권한 확인'은 무엇을 의미합니까? 실행 파일이있는 폴더의 사용 권한? – user1091524