/// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); /* * 利用互斥变量来控制应用程序只能运行一个 */ bool bRun = true; va…
解决C#程序只允许运行一个实例的几种方法详解 本篇文章是对C#中程序只允许运行一个实例的几种方法进行了详细的分析介绍,需要的朋友参考下 本文和大家讲一下如何使用C#来创建系统中只能有该程序的一个实例运行.要实现程序的互斥,通常有下面几种方式,下面用 C# 语言来实现:方法一:使用线程互斥变量. 通过定义互斥变量来判断是否已运行实例.把program.cs文件里的Main()函数改为如下代码: 复制代码 代码如下: using System;using System.Windows.Forms;u…
要实现程序的互斥,通常有下面几种方式,下面用 C# 语言来实现: 方法一: 使用线程互斥变量. 通过定义互斥变量来判断是否已运行实例. 把program.cs文件里的Main()函数改为如下代码: using System; using System.Windows.Forms; using System.Runtime.InteropServices; namespace NetTools { static class Program { [DllImport("user32.dll"…
最近在做winform的程序中,需要只能打开一个程序,如果已经存在,则激活该程序的窗口,并显示在最前端.在网上google了一哈,找到了很多的解决方案.这里我整理了3种方案,并经过了测试,现和朋友们分享: 一.使用用互斥量(System.Threading.Mutex) 同步基元,它只向一个线程授予对共享资源的独占访问权.在程序启动时候,请求一个互斥体,如果能获取对指定互斥的访问权,就职运行一个实例. 代码  bool createNew;             using (System.T…
一.        创建互斥对象 在工程project1.dpr中创建互斥对象 Program project1 Uses Windows,Form, FrmMain in 'FrmMain.pas' {MainForm}; {$R *.res} var hAppMutex: THandle; //声明互斥变量 begin hAppMutex := CreateMutex(nil, false,’projectname’); //创建互斥对象projectname工程名称 if ( (hAppM…
using System; using System.Windows.Forms; using System.Runtime.InteropServices;//使用DllImport的必须. using System.Diagnostics;//引入Process 类 namespace 命名空间 { static class Program { ; [DllImport("User32.dll")] private static extern bool ShowWindowAsyn…
https://bbs.csdn.net/topics/390486402 https://codereview.stackexchange.com/questions/20871/single-instance-wpf-application http://blogs.microsoft.co.il/arik/2010/05/28/wpf-single-instance-application/ http://blogs.microsoft.co.il/blogs/arik/SingleIns…
要实现VC++或者MFC只运行一个程序实例,一般采用互斥量来实现,即首先用互斥量封装一个只运行一个程序实例的函数接口: HANDLE hMutex = NULL; void MainDlg::RunSingleInstance() { hMutex = CreateMutex(NULL,FALSE,TEXT("Single Instance Demo")); if (hMutex) { if(ERROR_ALREADY_EXISTS == GetLastError()) { // 已经…
源:让程序同时只能运行一个 很多人都讨论过这个问题, 这里用Victor串口控件里面现成的共享内存功能来实现. 当程序运行第二次时只是激活第一次运行的窗口, 而不是再运行一个程序. 需要在主程序里实现, 下面蓝色的部分是增加的内容:  #include <vcl.h> #pragma hdrstop #include "yb_base.h" //-----------------------------------------------------------------…
1.问题的缘由 实际开发系统的时候,经常需要用别的用户运行一个程序.比如,有些系统为保证系统安全,不允许使用root来运行.这里,我们总结了unix系统下如何解决这个问题的一些方法.同时,我们还讨论如何在python脚本里实现. 2.unix系统的方法 2.1.runuser runuser允许使用替代用户和组ID来运行命令.如果选项-u没有给出,则回退到su兼容的语义和shell被执行. runuser和su命令之间的区别在于runuser不要求输入密码(因为它可能仅由root用户执行),它使…
在windows中:双击运行Python程序.后台运行Python程序 安装Python解释器的windows环境,如果双击运行*.py的文件,会闪退.怎样避免闪退呢? 我们用python的日志输出程序来举例说明: main.py中 import os import logging import time # 如果日志文件夹不存在,则创建 log_dir = "log" # 日志存放文件夹名称 log_path = os.getcwd() + os.sep + log_dir if n…
Wp8对原来的WP7做了大量的优化...其中一个就包括Protocol Association,也就是通过uri来打开另外一个程序,这也就是说,我们可以做一个程序来启动另外一个程序了,如微信,QQ之类的,当然必须要有一个前提,也就是要被启动的程序必须注册一个URI关联. 我们可以通过一个实例来说明.首先给程序注册下URI关联. 选择WMAppManifest.xml点击查看代码,在Tokens后面添加Extensions属性. <Extensions> <Protocol Name=&q…
昨天在安装Visual Studio .Net 2003时,出现一个对话框   "安装程序检测到另一个程序要求计算机重新启动.必须重新启动计算机后才能安装visual studio.net系统必备.系统重新启动后,你需要重新启动安装程序.单击"确定"重新启动,单击"取消"退出安装程序."   搞了半天也没搞定,后来网上经人指点才得以解决,把下面的注册表项删除就可以了:   HKEY_LOCAL_MACHINE\SYSTEM\CurrentCont…
原文:同一个PC只能运行一个应用实例(考虑多个用户会话情况) class Program { private static Mutex m; [STAThread] static void Main() { bool createNew = false; /* * 在运行终端服务的服务器上,已命名的系统 mutex 可以具有两级可见性. * 如果名称以前缀“Global\”开头,则 mutex 在所有终端服务器会话中均为可见. * 如果名称以前缀“Local\”开头,则 mutex 仅在创建它的…
我们开发WinFrom程序,很多时候都希望程序只有一个实例在运行,避免运行多个同样的程序,一是没有意义,二是容易出错. 为了更便于使用,笔者整理了一段自己用的代码,可以判断程序是否在运行,只运行一个实例,而且能实现当程序在运行时,再去双击程序图标,直接呼出已经运行的程序. 下面看代码,只需在程序的入口文件中加如下代码即可: static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] s…
我们在WinForm开发中,很多情况下是需要只允许让用户运行一个实例,那么代码其实很简单.只需要修改Program.cs文件,代码如下 static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void Main() { //Application.EnableVisualStyles(); //Application.SetCompatibleTextRenderin…
方法有很多,以下只是提供一种用的多的 一. 单文档程序 在程序App类的InitInstance中添加如下代码 BOOL CDDZApp::InitInstance() { /*只运行一个实例*/ //创建命名信标对象. HANDLE hSem = CreateSemaphore(NULL, 1, 1, "DDZ"); if (hSem) //信标对象创建成功. { //信标对象已经存在,则程序已有一个实例在运行. if (ERROR_ALREADY_EXISTS == GetLast…
HANDLE hMutex=CreateMutex(NULL,TRUE,"HDZBUkeyDoctorTool"); if(hMutex) { if(ERROR_ALREADY_EXISTS==GetLastError()) { MessageBox(NULL, "程序已在运行中!", "盾医生:", NULL); return FALSE; } }…
一.通过系统事件 1.实现如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading; using System.Runtime.InteropServices; namespace Example { public class SinglonProgram { #region…
来源:http://blog.csdn.net/jin20000/article/details/3136791 互斥进程(程序), 简单点说,就是在系统中只能有该程序的一个实例运行. 现在很多软件都有这功能,如Maxthon 可以设置为"只允 许打开一个窗体",还有Bitcomet等. 我也是看到这些软件的这个功能才来研究这个问题的.  要实现程序的互斥,通常有三中方式,下面 用 C#  语言来实现: 实现方式一: 使用线程互斥变量. 通过定义互斥变量来判断是否已运行实例.C#实现如…
尽管iPhone不允许同时运行两个应用程序,我们可以从自己的应用程序中启动另一个应用程序,并且可以在应用程序之间共享数据.我们可以使用UIApplication类的openURL:方法从一个应用程序来启动另一个应用程序.例如,要在Safari应用程序中打开Google主页,我们可以编写如下代码: NSURL *url = [NSURL URLWithString:@ "http://google.com"]; [[UIApplication sharedApplication]o pe…
static class Program { [System.Runtime.InteropServices.DllImport("coredll.Dll", SetLastError = true)] private static extern int ReleaseMutex(IntPtr hMutex); [System.Runtime.InteropServices.DllImport("coredll.Dll", SetLastError = true)]…
1.安装hadoop 解压hadoop-1.2.1-bin.tar.gz包   tar -zxvf hadoop-1.2.1-bin.tar.gz  /opt/modules/ 解压后在/opt/modules/看到有hadoop-1.2.1文件夹(此为安装目录) 2.配置环境变量 vim 3.刷新环境变量 source /etc/profile 4.测试MapReduce程序 (1)新建文件夹input   mkdir input (2)进入hadoop安装目录    (3)拷贝所有xml文件…
摘要 接着介绍项目中用到的一些方法,在winform中,打好包,有时并不允许运行多个客户端,要保证只有一个客户端运行.如果已经运行了,则弹出已运行的窗口,使其展示. 方法 判断是否有相同的进程 /// <summary> /// 获取当前是否具有相同进程. /// </summary> /// <returns></returns> public static Process GetRunningInstance() { Process current =…
static class Program { private static Mutex onlyOne; /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); onlyOne = new Mutex(true,…
原文发布时间为:2009-04-06 -- 来源于本人的百度文章 [由搬家工具导入] Program.cs 里面改成如下: static void Main()        {            Application.EnableVisualStyles();            Application.SetCompatibleTextRenderingDefault(false);            bool bExist;            System.Threadin…
Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用.一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动:Intent intent = new Intent(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_LAUNCHER);            ComponentName cn = new Compon…
一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动: Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER);             ComponentName cn = new ComponentName(packageName, className);             intent.setComponent(c…
http://hi.baidu.com/xiaofanqing/item/6fd724f7c5bb6dce531c26b7 Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用.一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动:Intent intent = new Intent(Intent.ACTION_MAIN);intent.addCategory(Inten…
在开发android应用的时候,在一些情况下要有前置条件,比如这边所说的要启动时要确保别的应用程序服务已经打开  或者在操作中启动别的应用等. 先来一段google上的代码: 1. 已知包名和类名的情况下: Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); //前面两个设置是为了调用该应用的主页 也就如C#或JAVA 常说的 MAIN函数入口 Componen…