jjzjj

c# - 正确使用 P/Invoke

我需要从C#调用外部dll。这是header定义:enumWatchMode{WATCH_MODE_SYSTEM=0,WATCH_MODE_APPLICATION=1};LONGADS_APIWDT_GetMode(LONGi_hHandle,WatchMode*o_pWatchMode);我在C#中添加了枚举和调用:publicenumWatchMode{WATCH_MODE_SYSTEM=0,WATCH_MODE_APPLICATION=1}[DllImport("AdsWatchdog.dll")]internalstaticexternlongWDT_GetMode(longh

windows - 使用预取队列的反调试不适用于我的 cpu

Whydoesthiscodeenablemetodetectadebugger?上面的链接告诉我使用prefetchqueue反调试的方法,然后我尝试使用下面的代码进行测试,但是我失败了。谁能帮我指出我的代码是否有误。我的cpu是Intel(R)Core(TM)i7-2630QM2.00GHz。非常感谢ML:D:\Programs\masm32\Bin\ML.EXE/c/coff/Cp/nologo/I"D:\Programs\masm32\Include""AntiDebug.asm"链接:D:\Programs\masm32\Bin\LINK.EXE/SECTION:.text,

windows - 运行线程时窗口偶尔会挂起/卡住

我的VB.Net应用程序出现奇怪的挂起问题。当用户单击更新按钮时,下面将作为线程运行以对数据进行一些长时间的计算。它禁用控件,显示“正在工作...”文本框,完成工作,重新启用控件并删除“正在工作...”文本框。偶尔(调试时我从未重现过),用户窗口卡住并挂起。当它发生时CPU使用率为0,所以它完成了计算,但是控件仍然显示为禁用并且“正在工作...”文本框仍然可见,尽管窗口完全卡住并且不会更新。这将无限期地保持这种状态(用户已尝试等待长达30分钟)。奇怪的是,我只能通过单击任务栏上窗口右键菜单中的最小化/恢复按钮来“取消粘贴”窗口。短暂延迟后,窗口会恢复生机。窗口本身的最小化/恢复似乎没有

c# - “Invoke-Sqlcmd”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称

我想自动创建数据库。要创建三个数据库,我为每个数据库创建都有一个不同的powershell脚本。现在在这个powershell脚本上我有一层批处理文件,这个批处理文件将调用powershell脚本。说@“D:\Parent\Sub\InstallDB1.cmd”;将像其他两个一样调用@"D:\Parent\Powerscript1.ps1。现在我有单个批处理文件FinalDB.cmd.批处理文件FinalDB.cmd.将调用三个命令脚本,一个接一个将在内部调用powershell脚本。Sonowthecallsin`FinalDB.cmd`callInstallDB1.cmd//com

c++ - 使用 IDispatch::Invoke 的 OLE 交互参数构造

我正在学习MicrosoftarticleaboutOLEautomation.据我了解,AutoWrap函数用于调用外部方法、获取/设置属性。让我们尝试理解调用此函数的代码://Makeitvisible(i.e.app.visible=1){//parameterpreparationVARIANTx;x.vt=VT_I4;//typeofparameterx.lVal=1;//valueAutoWrap(DISPATCH_PROPERTYPUT,//setpropertyNULL,//weneednoresultpXlApp,//pointertoExcelappL"Visibl

windows - 颜色问题

我正在编写一个贪吃蛇游戏,我有一个苹果图像要在游戏中使用,所以我创建了一个DC,然后将苹果加载到这个DC,当游戏运行时,它应该将苹果复制到缓冲区然后缓冲区到屏幕,但苹果在屏幕上以黑白结尾,任何人都知道为什么?这是我的一些代码,可能会有所帮助...“苹果加载程序”invokeGetModuleHandle,0invokeLoadBitmap,eax,10pusheaxinvokeCreateCompatibleDC,0popecxmov[mapple],eaxinvokeSelectObject,[mapple],ecx“缓冲区创建过程”invokeCreateCompatibleDC,

windows - assembly 计数程序

我是汇编的新手,我正在尝试编写一个计数达到10,000并退出的程序。我正在使用fasm`include'include/win32ax.inc'.dataincharDB?numwrittenDD?numreadDD?outhandleDD?inhandleDD?strFormatDB"Number%d",0strBuffRB64.codestart:;setupconsoleinvokeAllocConsoleinvokeGetStdHandle,STD_OUTPUT_HANDLEmov[outhandle],eaxinvokeGetStdHandle,STD_INPUT_HANDL

windows - 如何使用 cacert 文件在 Powershell (Invoke-WebRequest) 中执行等效的 cUrl?

基本上我想将命令curl翻译为与当前在linux服务器中相同的参数,但在Powershell中,以便上传文件:curl-v-T$file-uuser:passwordhttp://myurl--cacert/opt/keystores/ca_cert.pem我找到了执行此任务的等效命令:PowerShell3.0+的“Invoke-WebRequest”,但问题是我不知道如何使用CA证书文件(.pem)调用它,而且我还没有'在互联网上找到任何样本。谢谢! 最佳答案 当您在.NET中建立TLS连接时,将根据RemoteCertific

.net - .NET 与 .NET Core 2 的不同 P/Invoke 入口点

我正在将一些代码从.NET(4.5)移动到.NETCore(2),并且有一个像这样的多目标项目...net45;netcoreapp2.0代码库使用来自kernel32的Win32API函数CopyMemory,但我发现我需要根据我的目标框架使用不同的入口点名称。#ifNET45[DllImport("kernel32.dll",EntryPoint="CopyMemory",SetLastError=false)]#else[DllImport("kernel32.dll",EntryPoint="RtlCopyMemory",SetLastError=false)]#endifpu

windows - 调用已释放的 COM 对象

我创建了一个COM对象,用于某些应用程序的自动化任务。发生这种情况时,应用程序将启动并显示其主窗口。问题发生在用户关闭主应用程序窗口时。NextInvoke对COM对象的调用不起作用。问题是它不会失败,也不会报告错误。如果我在下一行代码中放置一个调试器断点,它永远不会到达。如果我用try/catch包围Invoke调用,则不会捕获异常。在发布版本中它只是崩溃。这应该如何运作?因为我使用CComDispatchDriver作为IDispatch*的包装器,所以我希望即使用户关闭了应用程序,我的AddRef也会使COM对象保持事件状态。我希望至少得到一些HRESULT作为错误。