草庐IT

进程注入

全部标签

Windows:原子地暂停整个进程?

这个问题在这里已经有了答案:HowcanIfreezetheexecutionofaprogram?(4个答案)关闭2年前。使用Win32API只能使用SuspendThread()暂停单个线程,但不能在一次调用中暂停一个完整的进程。遍历进程线程并一次挂起它们不是一个好的选择,因为它可能会导致死锁和意外行为。这应该是在内核中使用DDK中的一个函数(我不记得它的名字)是可能的。如何将此功能公开给用户模式?有没有其他不进入内核的方法来实现这一点?SysInternals进程浏览器有一个暂停进程的选项。它是如何做到的?

c# - 使用 TypeConverter 进行依赖注入(inject)

我有一个正在设计的应用程序,它引用了一个我也在设计的库。具体来说,应用程序需要创建我的下层库中定义的Sheathing类的实例。[TypeConverter(typeof(SheathingOptionsConverter))]publicclassSheathing:Lumber{publicstringDescription{get;set;}publicSheathing(stringpassedDescription){Description=passedDescription;}}我的应用程序在属性网格中列出了不同的护套选项。因为它在下拉菜单中列出了它们,所以我不得不扩展Ex

c# - 注入(inject)应用程序配置的最佳方式

好吧,我正带着一个关于将配置设置注入(inject)应用程序组件的正确方法的问题进入这个奇妙的网站。因此,概述是:我有一个用C#.Net3.5编写的应用程序。它由3个组件组成-一个核心、一个数据和一个服务。数据和服务程序集需要从app.config检索设置,这是通过设置文件完成的,例如。代码:publicstaticStringRequestQueueConnectionString{get{returnConnectionSettings.Default.RequestQueueConnectionString;}}配置:...现在,程序集都是使用IoC的StructureMap设置

c# - 如何判断进程是否具有图形界面?

我正在使用自动化来测试应用程序,但有时我想通过批处理文件启动应用程序。当我运行“process.WaitForInputIdle(100)”时出现错误:“WaitForInputIdle失败。这可能是因为进程没有图形界面。”如何判断进程是否有图形界面? 最佳答案 参见Environment.UserInteractive.这将确定进程是否有接口(interface),例如服务不是用户交互的。您还可以查看Process.MainWindowHandle它会告诉你是否有图形界面。这两项检查的组合应涵盖所有可能性。

c# - 具有非依赖参数的构造函数注入(inject)

我有一个像这样的接口(interface)ITradingApi:publicinterfaceITradingApi{IOrderCreateOrder(...);IEnumerableGetAllSymbols();//...}这意味着成为交易软件供应商的不同API的外观。我的View模型在其构造函数中依赖于此交易API:publicclassMainViewModel{publicMainViewModel(ITradingApitradingApi){/*...*/}//...}我使用Ninject作为IoC容器,所以我将像这样创建我的View模型的实例:varvm=kerne

c# - (自动)依赖注入(inject)绑定(bind)机制

创建依赖项注入(inject)绑定(bind)的两种常见机制(例如通过IOC容器)来自XML配置或命令式代码块。在这些情况下,键值对是显式的(即键=请求的类型,值=返回的类型)。仍然存在第三种“启发式”方法,其中仅向应用程序/IOC容器提供[IMyClass]键,然后容器反射(reflect)一组应用程序程序集依赖项以找到所有名称匹配的具体类[MyClass]。换句话说,“返回类型”值是发现的而不是声明的。我想知道的有两个方面:哪些IOC容器(或其他后期绑定(bind)工具)允许启发式方法?这种方法有更通用的名称吗?除了我列出的三种绑定(bind)技术外,还有其他用于实践的绑定(bin

c# - Silverlight 构造函数注入(inject) View 模型+设计模式

我正在努力掌握在Silverlight4中编写可测试的ViewModel。我目前正在使用MVVMlight。我使用的是AutoFac,而IoCContainer工作正常。然而,为了注入(inject)绑定(bind)到View的ViewModels的构造函数,我有这个构造函数链接:publicUserViewModel():this(IoCContainer.Resolve()){}publicUserViewModel(IUserServiceAsyncuserService){if(this.IsInDesignMode)return;_userService=userServic

c# - 如何将管道代码注入(inject)/生成用属性装饰的方法?

我正在阅读一些关于缓存和记忆化以及如何使用委托(delegate)和泛型轻松实现它的文章。语法非常简单,而且实现起来非常容易,但我只是觉得由于重复性,应该可以根据属性生成代码,而不必一遍又一遍地编写相同的管道代码。假设我们从默认示例开始:classFoo{publicintFibonacci(intn){returnn>1?Fibonacci(n-1)+Fibonacci(n-2):n;}}然后记住这个://Let'ssaywehaveautilityclasssomewherewiththefollowingextensionmethod://publicstaticFuncMemo

C# 到 C++ 进程,WM_COPYDATA 传递带有字符串的结构

在c#程序中,我想使用WM_COPYDATA和SendMessage来与遗留的c++/cliMFC应用程序通信。我想传递一个包含字符串对象的托管结构。我可以找到与SendMessage一起使用的c++应用程序的句柄。我不知道的一点是如何在另一端编码和读取结构及其字符串。特别是因为它包含非blittables。大家觉得这可行吗?我会继续努力,但会感谢做过此类事情的人告诉我它是否行不通。这里有一些演示代码,如果它是一个c++/cli程序,它不难运行。但是,我希望它位于.Net类库中,以便可以轻松地重复使用。//Quickdemonstationcodeonly,notcorrectlyst

c# - 终止进程(Windows 8)问题

我大约一个月前安装了Windows8,但一直遇到进程挂起时我无法结束/终止它的问题。任务管理器和CMDTaskkill/f/PID####都不能完成这项工作,所以我想我会用C#编写自己的进程killer,看看会出现什么问题。在编写了一个小应用程序后,我意识到我并不像我想象的那么聪明——我仍然无法结束这个过程。起初我能够通过名称/PID找到进程:Processp=Process.GetProcessById(aPid)//orforeach(ProcesspinProcess.GetProcessesByName(aProcessName)..当我尝试以下操作时出现“访问被拒绝”异常:p