【关于.net(C#)中的跨进程访问的问题】教程文章相关的互联网学习教程文章

c#-在Windows XP登录屏幕(.NET / Pinvoke)上运行进程(WITH GUI)【代码】

我需要编写一个小的服务来在登录屏幕上运行应用程序(带有gui,例如calc.exe). 我已经找到了这个问题(和答案):Running a process at the Windows 7 Welcome Screen 如果您不了解其工作原理,请阅读代码注释:// grab the winlogon processProcess winLogon = null;foreach (Process p in Process.GetProcesses()){if (p.ProcessName.Contains("winlogon")){winLogon = p;break;}}// grab the winlogon's tokenIntPtr userToken = Int...

在C#/ Windows中以编程方式阻止进程与特定主机之间的所有连接

我试图在我们使用的第三方连接器库中跟踪一些故障转移问题.目前,我正在启动和停止远程服务以模拟故障,这虽然可行,但是非常不切实际. 有没有一种方法可以以编程方式阻止进程与给定主机之间的所有连接? 编辑:以及阻止我想删除任何现有的连接解决方法:我认为您可以与Windows防火墙进行交互以实现所需的功能(以编程方式阻止进程与给定主机之间的所有连接),请看一下Windows Firewall Interfaces.

c#-由进程“系统”引起的高CPU使用率【代码】

我正在编写WPF应用程序.我在某些窗口中使用了BitmapCache,如下所示:CacheMode = new BitmapCache() {EnableClearType = false,RenderAtScale = 2,SnapsToDevicePixels = false; }然后: >运行我的应用程序,CPU使用率是正常的.> Ctrl Alt Del,显示任务管理器,名为“系统”的进程显示CPU使用率高. Process Explorer显示了由以下两个线程引起的问题:ntoskrnl.exe!WheaAttemptPhysicalPageOffline+0x350dxgmms1.sys!VidMmInterface+0...

c#-System.IO.IOException:该进程无法访问文件,因为它正在被另一个进程使用【代码】

我正在使用FileSystemWatcher监视日志文件中的更改. 日志文件由第三方应用程序编写. 触发更改后,我尝试使用以下方法读取文件:using (FileStream fs = new FileStream(e.FullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) {StreamReader sr = new StreamReader(fs);string s = sr.ReadLine(); }有时它在使用线上失败. 其他时候,它在sr.ReadLine()上失败了,我认为这是因为第三方系统当前正在访问文件. 我认为通过设...

c#-将WM_CLOSE消息发送到没有窗口的进程【代码】

开始一个过程-ProcessStartInfo psi = new ProcessStartInfo("G:\\SampleWinApp.exe"); psi.UseShellExecute = false;psi.CreateNoWindow = true; Process prcs = Process.Start(psi);使用PostMessage发送WM_CLOSEconst int WM_CLOSE = 0x0010;public void SendCloseSignal(Process proc) {uint uiPid = (uint) proc.Id;bool bResult = EnumWindows(new WNDENUMPROC(EnumWindowsProc), uiPid);if (!bResult ...

c#-在不同的进程中运行委托【代码】

在C#中,我们有漂亮的CodeDomProvider类,该类使我们能够从源代码动态创建一些exe文件,然后运行它等等. 问题是当我们没有此类资源时.例如,我有一个委托(例如Action< string>),我想编译一个exe,该exe从命令行获取第一个参数,然后执行传递的Action< string>.用它.在更复杂的情况下,我有Func< string [],string&gt ;,它接受传递的命令行参数,执行某些操作并在标准输出中写入内容.我想要类似字符串ExecuteOutOfProcess(Func< string [],s...

c#-捕获不相关进程的输出【代码】

我只是想知道是否有可能捕获在Windows上运行的单独进程的输出? 例如,如果我有一个正在运行的控制台应用程序,我可以运行另一个应用程序,一个表单应用程序,并让该应用程序捕获控制台应用程序的输出并将其显示在文本框中吗?解决方法:你可以这样做:Process[] p = Process.GetProcessesByName("myprocess.exe");StreamReader sr = p[0].StandardOutput;while (sr.BaseStream.CanRead){Console.WriteLine(sr.ReadLine());}

C# 简单的进程间通信方式【代码】【图】

只想实现一个简单的进程建通信,有什么快速实现方式? 1 进程单例需求 / Windows 消息与 IMessageFilter 如果需求是实现一个进程单例,在启动第二个进程时,期望能自动唤起第一个进程的窗口。 可以参见: C#/WPF 仅启动一个进程实例 - J.晒太阳的猫 - 博客园 但有个问题,如果实现了最小化到托盘(WPF/.net core WPF 系统托盘支持)这个功能,则这个唤醒将会失效。 原因:窗口隐藏之后,将不会接收到 windows 消息。详情和怎么解,...

c#-在.NET中使进程窗口可见/不可见【代码】

我有我的应用程序,正在其中启动一个新过程.但是我需要在过程中调整窗口大小以适合我的需求.但是首先,该过程将以正常大小打开窗口,然后将其调整为适合的大小.这看起来很奇怪.那么我可以在不可见模式下以winodw开始该过程,然后调整大小然后使其可见吗?ProcessStartInfo startInfo = new ProcessStartInfo("myApp.exe"); MyApp = Process.Start(startInfo); Thread.Sleep(2000); MoveWindow(MyApp.MainWindowHandle, 0, 380, 2040, 1...

c#-使用WCF和F#在进程之间进行通信【代码】

我想使用F#在两个长时间运行的F#进程之间进行简单的一对一通信.他们将在每个ca定期交换信息. 5秒.到目前为止,我已经达到了这一点:#r "System.ServiceModel" #r "System.Runtime.Serialization" //#r @"d:\DLL\Protobuf\protobuf-net.dll" #time "on"open System.ServiceModel[<ServiceContract>] type IService =[<OperationContract>]// [<ProtoBuf.ServiceModel.ProtoBehavior>]abstract Test: float [] [] [] -> stringtype Se...

c#-服务需要产生非交互式子进程,但会失败并显示“访问被拒绝”【代码】

首先,我不尝试与桌面进行任何形式的交互. 我正在尝试做的是分开关注点.我有在本地系统帐户(LSA)下运行的服务.有时,我需要使用其他帐户执行流程. 我为此使用System.Diagnostics.Process.到目前为止,这是我尝试过的: >将服务应用程序作为普通桌面应用程序运行,以相同的帐户启动子进程:>将服务应用程序作为普通桌面应用程序运行,在另一个帐户下启动子进程:有效>将服务作为服务应用程序运行(与LSA一样),以同一帐户(LSA)启动子进程:...

C#/WPF 仅启动一个进程实例

如何实现仅启动一个 WPF 进程实例,并在打开第二个时,自动唤起之前打开的进程。 1 代码入口 在 App.xaml.cs 文件中,重写 OnStartup 方法,并添加 Mutex 进程锁。 /// <summary> /// 只打开一个进程 /// </summary> /// <param name="e"></param> protected override void OnStartup(StartupEventArgs e) {string mutexName = "32283F61-EC4D-43B1-9C44-40280D5854DD";ProgramStarted = new EventWaitHandle(false, EventResetMod...

首页> C#>如何检测程序(进程)是否正在运行,并在Windows 8.1通用应用程序中获取其实例

我是Windows Universal Apps的新手,但是我发现它是一个非常有趣的领域,因此我想开始了解它的功能. 我目前是WPF .NET开发人员,我希望能够检查程序是否正在运行并获取其实例.在WPF中,我将在Process.GetProcessesByName()的帮助下执行此操作,但“通用”应用程序中没有Process. Windows 8.1 Universal App中是否有类似的方法来获取进程(运行程序的实例)?解决方法:System.Diagnostics.Process在UWP应用中不可用.这些应用被沙盒化,不允许...

C#和.NET 3.5-如何使用具有隐藏窗口的不同凭据启动进程,并能够捕获标准输出和退出代码?

我有一个用C#和.NET 3.5开发的Windows服务,可以在我们的3个域中执行各种管理任务.我在每个域中都有一个管理员帐户,该帐户具有执行此服务所需的必要权限. 对于所有的AD交互,我都可以使用域的正确用户名/密码绑定到AD,一切都很好.但是,我现在需要启动一个外部进程(robocopy)来执行一些工作,并且在.NET 3.5中我找不到任何代码示例可以在任何地方进行此操作. 我需要做的是在一个隐藏的窗口中使用备用凭据启动robocopy,捕获标准输出,以便...

如何获得C#中给定服务的子进程列表?【代码】

我有一个创建多个子进程的服务.使用c#,我需要确定当前正在运行的这些子进程的数量. 例如,我有一个名为“ TheService”的运行服务.这将产生5个子进程,全部称为“ process.exe”.是否可以确定服务下运行的子进程的数量?从本质上讲,我仅需要提供服务/服务进程名称的名称就需要知道“ process.exe”实例的数量.解决方法:您需要使用WMI,Win32_Process类包含父进程ID.因此,WQL查询(请参见.NET下WMI的System.Management命名空间)如下所示...