我正在尝试使用命名管道在Windows服务和WPF应用程序之间进行通信,两者都是用VB.Net编写的。Windows服务一直在运行。但是,在运行WPF应用程序几个小时后,将引发StackOverflowException。WPF应用程序中的PipeServerThread()是唯一在异常发生时在托管堆栈中重复调用的函数(我使用WinDbg对此进行了追踪)。服务包含NamedPipeClientStream,应用包含NamedPipeServerStream。当客户端和服务器通信时,服务器在经过几次检查后读取最终的客户端响应,然后将客户端字符串传递给代码中其他地方的函数。管道服务器随后被
我没有源代码的程序正在执行第三方EXE文件。我想找出它发送到EXE文件的参数(即thirdparty.exe-c"foo"-d"bar")。我知道初始程序是用VisualBasic编写的。有没有我可以运行的工具来监视执行调用并拦截参数?如有任何帮助,我们将不胜感激。 最佳答案 要以编程方式获取它,请使用WMI:SelectQueryquery=newSelectQuery("selectCommandLinefromWin32_ProcesswhereName='thirdparty.exe'");ManagementObjectS
我需要从vb.netwindows应用程序中运行脚本。我的脚本在后台正常运行;UsingMyRunSpaceAsRunspace=RunspaceFactory.CreateRunspace()MyRunSpace.Open()UsingMyPipelineAsPipeline=MyRunSpace.CreatePipeline()MyPipeline.Commands.AddScript("import-module-name"&moduleName&vbCrLf&"(get-module-name"&moduleName&").version")Dimresults=MyPipel
我正在使用VB.NET并且需要激活某个窗口。这可能吗?如果是,怎么办? 最佳答案 您需要使用Win32API来执行此操作。首先,通过调用FindWindow找到您想要置于最前面的窗口获取它的句柄,然后使用SetForegroundWindow将其带到前台的API。PInvoke包含这些方法的声明。 关于windows-在VB.NET中将焦点更改到另一个窗口,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co
我正在将我的VB6安装程序移植到NSIS。查看LST文件,有一个用于引导文件的部分:[BootstrapFiles]File1=@VB6STKIT.DLL,$(WinSysPathSysFile),,,..........File2=@COMCAT.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,......File3=@STDOLE2.TLB,$(WinSysPathSysFile),$(TLBRegister),...........File4=@ASYCFILT.DLL,$(WinSysPathSysFile),,,...........
我已经接管了对VB.NetWinForms应用程序的支持。通过ClickOnce安装安装此应用程序时,它会在桌面上生成一个快捷方式。但是,令人讨厌的是,如果您在创建的快捷方式上右键单击和属性,很明显它不是常规快捷方式,因为它没有目标选项卡,因此从快捷方式中看不出来此快捷方式引用的属性。所以我与此相关的问题是:这种捷径背后的想法是什么?为什么这种快捷方式的目标是隐藏的?(他们甚至叫什么?这是我第一次看到ClickOnce安装,所以当我发现缺少属性选项卡时有些惊讶。)你如何找出快捷方式引用的可执行文件? 最佳答案 ClickOnce快捷
我正在用VB6创建一个应用程序,我想使用我自己的游标。我为表单设置了正确的属性:MousePointer:99-CustomMouseIcon:"MyIcon"“我的图标”是光标所在的文件。设置完所有属性后,我的自定义光标出现了,但是当我点击时,它不是指向光标的尖端,而是在光标的右下角。当我使用Windows附带的光标之一时,这不是问题。 最佳答案 光标有一个在.cur文件中设置的“热点”:这定义了点击发生的位置。您需要在您使用的任何.cur编辑器中设置热点。 关于windows-在VB
1)C:\Windows\SysWOW64中放置了一个32位的dll2)使用regasm.exe注册3)编译时,我将objective-cpu设置为x86我可以在我的vb6程序中添加引用,但是当我尝试调用dll中的方法时,它失败了。报错如下:"RuntimeError'-2147467261'objectinstancenotsettoaninstanceofanobject"这里的代码:Setm_objCLogon=CreateObject("CommonLogon.Logon")strResult=m_objCLogon.ValidateLogin(p_strUserID,p_st
我有一个VB项目能够正常工作,但现在当我打开该项目时,我收到了mscomctl.ocx错误。我已经重新注册了ocx,但仍然无法加载项目。我该如何解决这个问题? 最佳答案 我在Windows764位环境中打开项目时遇到了这个问题,它在winXP机器上工作正常。我之前在项目文件中做了一个非常简单的更改,上面写着Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0;MSCOMCTL.OCX我将2.1更改为2.0因为我在很多论坛上都看到过这样的情况,而且效果很好。VBP文件中的更新引用是Ob
我已经使用VB6多年,但我遇到了一些相当奇怪的事情,我自己无法确认这个结果。所以我想知道下面代码的输出是否会是77或76代码如下:OptionExplicitPrivateSubcmdOk_Click()DimVAsIntegerV=6CallAddV(V)PrintVEndSubSubAddV(ByRefPAsInteger)P=P+1PrintPEndSub在我的系统(WindowsXP+VB6)上,这按预期工作。所以我得到了第一个输出。但是,我在Windows7+VB6上看到了相同的程序,但输出不一样。谁能解释一下为什么会这样?然而,同样的事情在VB2008+Windows7上工