用vc++6.0编程,总是提示系统找不到指定文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用vc++6.0编程,总是提示系统找不到指定文件相关的知识,希望对你有一定的参考价值。

参考技术A 这是因为环境变量没有设置好
  请不要在win7上运行vc6,因为vc6是xp下的程序,win7不兼容
  请在xp或者xp的虚拟机上运行
参考技术B 楼主你好,关于这个问题,楼主可以网上下载一个graphics.h文件,复制到vc++6.0的根目录的include文件夹内就可以预览了

异常 - 系统找不到指定的文件

我看到很多类似的问题,但我仍然坚持。我可以从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()。

以上是关于用vc++6.0编程,总是提示系统找不到指定文件的主要内容,如果未能解决你的问题,请参考以下文章

为啥在网上找的一些c语言程序的代码在vc++6.0中编译总是出现错误?求指教

vc2013运行C++时找不到系统指定文件?

vc++6.0一打开就出现MSDEV.EXE应用程序错误,无法正常启动0xc0000142

用vc对 dll 打包 怎么做??运行的时候 提示找不到 xx.dll 文件

vc6.0在win7上运行结果总是很快就消失怎么回事

用VC6.0编译程序总出现错误:无法启动工具,系统找不到指定文件。重装了一遍软件,还是没有解决。