异常 - 系统找不到指定的文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常 - 系统找不到指定的文件相关的知识,希望对你有一定的参考价值。
我看到很多类似的问题,但我仍然坚持。我可以从cmd提示符运行nltest.exe,但不能以编程方式运行。
这是代码失败,异常“System.dll中发生了'System.ComponentModel.Win32Exception'类型的未处理异常”
Dim pz As New Process()
pz.StartInfo.FileName = "nltest.exe"
pz.StartInfo.Arguments = " /dsgetsite > c: empwhere.txt"
pz.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
pz.Start()
所以,我修改为使用cmd / c如下:
Dim pz As New Process()
pz.StartInfo.FileName = "cmd"
pz.StartInfo.Arguments = " /c nltest /dsgetsite > c: empwhere.txt"
' pz.StartInfo.WindowStyle = ProcessWindowStyle.Maximized
pz.Start()
pz.WaitForExit()
使用cmd / c,代码运行但只创建一个空文件c: temp where.txt。 如果我从“开始”菜单(Windows 10)手动运行该命令,则运行正常,该文件包含站点位置。
我是否在这两次尝试中都犯了一个基本错误?
为了使用活动目录函数dsgetsite,我放弃了命令行函数nltest并翻译了基于netapi32.dll在converter.telerik.com找到的c#(使用http://adcoding.com/using-dsgetsitename-in-c-sample-how-to-get-the-name-of-the-site-where-a-computer-resides/)。
我将此行添加到我的vb.net代码模块的IMPORTS部分
Imports System.Runtime.InteropServices
然后我添加到主模块
<DllImport("netapi32.dll", CharSet:=CharSet.Auto)>
Public Function DsGetSiteName(ByVal ComputerName As String, <Out> ByRef SiteName As IntPtr) As Integer
End Function
Public Function GetLocation()
Dim pSiteInfo As IntPtr
Dim sSiteName As String = ""
If DsGetSiteName(String.Empty, pSiteInfo) = 0 Then
sSiteName = Marshal.PtrToStringAuto(pSiteInfo)
End If
Return sSiteName
End Function
当我想从该工作站找到工作站的站点名称时,我调用函数GetLocation()。
以上是关于异常 - 系统找不到指定的文件的主要内容,如果未能解决你的问题,请参考以下文章
System.Security.Cryptography.RSA.FromXmlString 系统找不到指定的文件和X509读取证书文件系统找不到指定的文件异常
PythonPDF: FileNotFoundError: [WinError 2] 系统找不到指定的文件
jcifs.smb.SmbException:系统找不到指定的文件?
NuGet 包中的运行时异常引用类型:'无法加载文件或程序集'Foo'。该系统找不到指定的文件。'