type  TMainWindow = packed record    ProcessID: THandle;    MainWindow: THandle;  end;  PMainWindow =^ TMainWindow; function IsMainWindow(AHandle: THandle): Boolean; begin   Result :=(GetWindow(AHandle, GW_OWNER) = 0) and (IsWindowVisible(AHandle));…
本文主要跟大家介绍Delphi中获取其它进程的窗口句柄,在Delphi中获取其它进程的窗口句柄,绝大部分人首先想到的会使用:FindWindow或者用GetWindow来遍历查找,如: handle := FindWindow(nil,PChar('窗口的标题')); 或者: procedure TForm1.Button1Click(Sender: TObject); var hCurrentWindow: HWnd; WndText:String; begin hCurrentWindow…
把写内容过程中经常用到的内容做个收藏,如下的内容是关于C#只启动一个进程的内容.public partial class App : Application { protected override void OnStartup(StartupEventArgs e) { Process currentProcess = Process.GetCurrentProcess(); foreach (Process item in Process.GetProcessesByName(current…
禁止一个进程运行多次 using System; using System.Windows.Forms; namespace StartExe { static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void Main() { bool ret; System.Threading.Mutex mutex = new System.Threading.Mutex(t…
在做winform程序的时候,有时候需要客户只能起一个进程,不能起多个进程,用如下代码可以实现. internal static class Program { private static Mutex onlyOne; /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] private static void Main() { onlyOne = new Mutex(true, Process.GetCurrentPro…
一个常见的编程任务是枚举所有运行的"应用程序".Windows 任务管理器就是一个很好的例子.它用两种方式列出"应用程序".任务管理器的第一个选项卡列出桌面上的所有"应用程序窗口".第二个选项卡列出系统中的所有"进程".本文提供了如何执行这些任务的详细信息. 枚举顶层窗口如果将枚举进程与枚举桌面上的顶层窗口进行比较,那么枚举顶层窗口可能更容易一些.要枚举顶层窗口,请使用 EnumWindows() 函数.不要使用 GetWin…
前言:         由于网站访问压力的问题,综合分析各种因素后结合实际情况,采用数据库读写分离模式来解决当前问题.实际方案中采用“事务发布”模式实现主数据库和只读数据库的同步,其中: 发布服务器1台:sql2005,推送订阅模式 订阅服务器2台:sql2005 问题:         以上方案后实施后,数据同步正常,但从日志中发现了死锁情况.错误提示如:事务(进程 ID *)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品.请重新运行该事务. 查询一些资料后,确定是数据同步的同时资源…
Delphi另一个多线程函数:BeginThread━━━━━━━━━━━━━━━━━━━━━━━━━━ Delphi也提供了一个相同功能的类似函数:function BeginThread(    SecurityAttributes: Pointer;     StackSize: LongWord;     ThreadFunc: TThreadFunc;     Parameter: Pointer;     CreationFlags: LongWord;     var Thread…
DELPHI声明一个指针变量,什么时候需要分配内存,什么时候不需要分配内存?比如我定义个变量 var p:Pchar;如果这个变量声明为全局变量,需要分配内存吗?分配为局部变量,需要分为内存吗?为什么?我们经常用的一个例子比如P:=‘12345’:上面一个例子,我们没有分配内存,就可以直接使用了,但是有时候会看到对P使用GetMem来分配内存,那么什么时候我们可以直接使用,什么时候需要用GetMem来分配内存呢?  无论是全局,还是局部的,只需要你深入理解指针和常量就行了. 1.'12345'是…
//设置IE8 多个Table只产生一个进程 using Microsoft.Win32; RegistryKey key = Registry.LocalMachine; RegistryKey software = key.OpenSubKey("Software\\Microsoft\\Internet Explorer\\Main", true); //该项必须已存在 software.SetValue(", RegistryValueKind.DWord); key…