jjzjj

c# - 读/写 ProcessMemory 声明

我正在尝试制作一个内存扫描器,为此我需要调用read和writeproccessmemory,我在谷歌搜索并发现声明是:[DllImport("Kernel32.dll")]publicstaticexternboolReadProcessMemory(ntPtrhProcess,IntPtrlpBaseAddress,byte[]lpBuffer,UInt32nSize,refUInt32lpNumberOfBytesRead);我试图将它放在主函数中,而不是主函数中。但我总是遇到编译器错误。我应该把它放在哪里以获取ReadProcesssMemory?在那个人帮助我之后(我下面的帖

.net - 如何在 Windows 服务中模拟时调用 net.pipe(命名管道)WCF 服务

我在使用来自C#Windows服务的Windows模拟通过net.pipe调用WCF服务时遇到问题。背景该服务从队列中读取并创建子应用程序域,每个应用程序域根据从队列中拉出的项目运行一个特定的模块。我们将Windows服务称为“JobQueueAgent”,将每个模块称为“作业”。我将继续使用这些术语。可以将作业配置为以指定用户身份运行。我们在作业的应用程序域内使用模拟来完成此操作。以下是服务中的逻辑和凭证流:JobQueueAgent(Windows服务-主要用户)>>创建作业域>>工作域(应用域)>>模拟子用户>>使用模拟在线程上运行作业>>作业(模块-子用户)>>作业逻辑“主用户

windows - TaskDialog 显示中文文本而不是 en-us

我们最近更新了一个内部工具,以使用供应商的在线工具代替我们以前的自制功能。此更新中的一项任务是在用户单击用于执行操作的按钮时将他们重定向到网站。我想直接在消息框上嵌入一个超链接,因为输入URL是非常1994年的;但是MsgBox不能那样做。有人告诉我TaskDialog可以,但它显示的是一堆中文字符,而不是我输入的文本。我不会说中文,而且我不知道我安装了中文。不管怎样,这个对话框需要显示我输入的英文文本。请帮忙。这是我的预期(大致):下面是我得到的:这是我用来生成上述内容的代码:PublicClassForm1'[DllImport("comctl32.dll",CharSet=Cha

c# - HKEY 到 Microsoft.Win32.RegistryKey 的转换

我有一个使用RegOpenKeyEx(WinApi)开放的注册表HKEY。现在我想将HKEY转换为对象Microsoft.Win32.RegistryKey。这将允许我使用更方便的.Net操作来进一步处理此key。您知道如何以可靠的方式为C#.Net2.0而非更高版本完成此转换吗?感谢您的帮助!我尝试使用反射访问RegistryKey.GetBaseKey(hKey)以将HKEY转换为RegistryKey但失败了:[DllImport("advapi32.dll",CharSet=CharSet.Auto)]publicstaticexternintRegOpenKeyEx(IntP

c# - 为什么我的伪造按钮按下失败并显示 SendMessage?

我正在尝试通过SendMessage(..)方法将鼠标事件发送到windows中的窗口。我面临的问题是消息似乎没有传送到我发送它们的窗口,即使SendMessage返回0,这(根据文档)表示消息已成功传递。我正在使用以下代码:(设p为Point结构,selectedWindow.Handle为窗口的有效句柄)intposition=((p.X&0xFFFF)0x0201和0x0202是WM_LBUTTONDOWN和WM_LBUTTONUP。有人能告诉我为什么这不起作用吗?(编辑:我正在使用ScreenToClient()方法将屏幕位置转换为窗口内的位置) 最

c# - 记事本字符解码

我正在从我的程序打开的记事本中阅读文本。这是我的代码constintWM_GETTEXT=0x000D;constintWM_GETTEXTLENGTH=0x000E;[DllImport("User32.dll",EntryPoint="SendMessage")]externstaticintSendMessageGetTextLength(IntPtrhWnd,intmsg,IntPtrwParam,IntPtrlParam);[DllImport("User32.dll",EntryPoint="SendMessage",CharSet=CharSet.Auto)]extern

非域 Windows 环境中的 C# 编程远程文件夹/文件身份验证

在非域环境中尝试在远程计算机上读取和写入文件时,我需要能够以编程方式进行身份验证。当您在WindowsRUN提示符中键入类似于\\targetComputer\C$\targetFolder或\\targetComputer\admin$的命令时,如果targetComputer不在域中,系统将提示您输入用户名和密码。输入用户名和密码后,您就可以完全访问远程文件夹。如何在C#中以编程方式完成此身份验证?我试过了..--模拟,但它似乎只在域环境中工作。--CMDKEY.exe,不过好像也只能在域环境下运行。一定有办法做到这一点,但到目前为止,我一直在高低搜索,但没有运气。也许我只是在寻找

c# - 如何检测 Windows 系统是否支持唤醒定时器

我需要以编程方式检测我的计算机(Windows7/8)是否支持唤醒计时器。到目前为止,我已经完成了以下工作:GuidactivePowerScheme=GetActivePowerSchemeGuid();IntPtrptrActiveGuid=IntPtr.Zero;uintbuffSize=0;uintres=PowerReadACValue(IntPtr.Zero,refactivePowerScheme,refApplicationConstants.SLEEPGUID,refApplicationConstants.WAKETIMERGUID,IntPtr.Zero,IntP

windows - 如何确定应用程序是否真的没有响应,如任务管理器中所示

我的具体问题:我需要开发一个需要保持各种应用程序运行的看门狗应用程序。我正在使用visualstudio和支持.net4.0的windows环境由于我没有创建这些应用程序,也无权以任何方式修改它们,因此我只能依赖Windows提供的信息。在过去的一周里,我一直在努力寻找如何获得应用程序任务管理器中显示的“无响应”属性。我试过:1使用系统诊断,获取过程信息并解释其中的信息。问题是,当应用程序停止工作(崩溃)时,进程仍在运行,弹出JIT调试器消息并报告应用程序崩溃。在此特定时刻,任务管理器报告应用程序“无响应”,但进程信息(尽管它确实有一个主窗口句柄)的属性Responding设置为“tr

c# - 如何使用 C# 在 Windows 中关闭警告窗口?

我在C#中使用System.Diagnostics.Process命名空间来启动系统进程,有时这个新创建的进程无法正常启动,在这些情况下,Windows会向我显示一个警告窗口,提供有关失败进程的信息。我需要一种以编程方式关闭(终止)此警报窗口的方法。我尝试了以下代码,但它不起作用,因为警告窗口不会出现在Process.GetProcesses()列表中。foreach(ProcessprocRinProcess.GetProcesses()){if(procR.MainWindowTitle.StartsWith("alertwindowtext")){procR.Kill();con