- 浏览: 692807 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (270)
- Ant Tool Script (12)
- XMLDigest (5)
- MyEclipse8.6 (1)
- RedHat (5)
- SVNVersionController (4)
- BatOperation (6)
- JspAndFaceWeb (66)
- javaSwing (18)
- PHP (12)
- J2SE (6)
- TestToolAndTestManual (12)
- C# (34)
- Java PatternDesign (20)
- Axis2AndWebService (5)
- ITLive (2)
- DBAndControl (10)
- C/C++ (8)
- Andriod (7)
- Python (7)
- JavaWork (16)
- Android-QA (1)
- Apache-Wicket (1)
- POI (1)
- JQuery (2)
- Struts2 (1)
- Flex&Flash (6)
- sdsdsd (0)
- 1212 (0)
最新评论
-
anayomin:
对九楼继续改进
public static <T> ...
Java List 分页 -
H4X0R:
来学习学习,赞一个
Aqua Data Studio 导出SQL -
yankai0219:
现在出现这个错误 Fatal error: Class 'PH ...
纯PHP搭建Apache+Eclipse+xDebug+PHPUnit+MakeGood -
yankai0219:
您好,我在搭建环境中提示PHPUnit_Framework_T ...
纯PHP搭建Apache+Eclipse+xDebug+PHPUnit+MakeGood -
wilsonchen:
chenhailong 写道wilsonchen 写道chen ...
C# RSA和Java RSA互通
winform 有的时候只能打开一次,下一次不要打开的应用
下面是code
static class ApplicationStart { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { bool ExisFlag = false; System.Diagnostics.Process currentProccess = System.Diagnostics.Process.GetCurrentProcess(); System.Diagnostics.Process[] currentProccessArray = System.Diagnostics.Process.GetProcesses(); foreach (System.Diagnostics.Process p in currentProccessArray) { if (p.ProcessName == currentProccess.ProcessName && p.Id != currentProccess.Id) { ExisFlag = true; } } if (ExisFlag) { return; } else { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new ModelFileGenerator.View.×××()); } } }
上面是第一种方案
在来看看第二种方案
/// <summary> /// window form show count /// </summary> private const int WS_SHOWNORMAL = 1; [DllImport("User32.dll")] private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow); [DllImport("User32.dll")] private static extern bool SetForegroundWindow(IntPtr hWnd); [DllImport("kernel32.dll")] private static extern IntPtr LoadLibrary(string sLibName); /// <summary> /// application start /// </summary> public static void ApplicationStart() { Process instance = RunningInstance(); if (instance == null) { System.Windows.Forms.Application.EnableVisualStyles(); System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false); Application.Run(new ×××()); } else { HandleRunningInstance(instance); } } /// <summary> /// application repeat start /// </summary> public static void ApplicationRepeatStart() { Process instance = RunningInstance(); if (instance != null) { HandleRunningInstance(instance); } } /// <summary> /// Running process instance /// </summary> /// <returns>the running process</returns> public static Process RunningInstance() { Process current = Process.GetCurrentProcess(); Process[] processes = Process.GetProcessesByName(current.ProcessName); ////Loop through the running processes in with the same name foreach (Process process in processes) { ////Ignore the current process if (process.Id != current.Id) { ////Make sure that the process is running from the exe file. if (Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == current.MainModule.FileName) { ////Return the other process instance. return process; } } } ////No other instance was found, return null. return null; } /// <summary> /// handle running instance /// </summary> /// <param name="instance">the running process</param> public static void HandleRunningInstance(Process instance) { ////Make sure the window is not minimized or maximized ShowWindowAsync(instance.MainWindowHandle, WS_SHOWNORMAL); ////Set the real instance to foreground window SetForegroundWindow(instance.MainWindowHandle); }
Main函数
public const string APP_NAME = "×××"; private static bool isFirstAppInstance = true; private static Mutex mutex = new Mutex(true, APP_NAME, out isFirstAppInstance); /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { if (isFirstAppInstance) { ApplicationManagerUtil.ApplicationStart(); } else { ApplicationManagerUtil.ApplicationRepeatStart(); } }
好了 如果有什么问题请和我联系
发表评论
-
减少winform的内存使用量
2013-06-01 06:49 1203今天看到有趣的代码,功能主要是减少winform的内存使用量。 ... -
C# Timer运行时,系统时间修改
2012-10-19 15:55 2917今天遇到一个问题: C# Time 运行的时候,将系统时间修 ... -
C# 一步一步的开始
2012-09-09 11:02 0------------------------------- ... -
C# 书写window简单服务
2012-03-30 19:59 1283代码如下: using System.Co ... -
手工添加window 服务依赖
2012-03-29 15:11 1949这里是bat文件 复制就可以添加 ... -
Services do not start and Event ID 7022
2012-03-29 15:07 1416今天遇到一个问题 具体的如题 解决方案: ... -
C# 读2007Excel文件
2012-03-27 13:51 2419今天遇到一个问题: C# ... -
C# 胡乱实现,程序 占用CPU50%
2012-02-28 07:05 3768今天早上看到了编程之美,我很兴奋,大早上看书,有吗? 有木有? ... -
IIS not work because of Com+ Application error or IWAM user not have password
2012-02-24 16:19 1785今天遇到了一个问题。XP的IIS 5.1 安装成功后会出现: ... -
IIS 7.0 HTTP Error 403.14
2012-02-23 13:09 1523刚才碰到一个问题:如题 下面是解决方案: 方法 ... -
C# Chart详细解析(待)
2012-02-07 19:25 55039一年有过去了, 很长时间也没有写什么文章了,准确的说是2个月, ... -
ProcessBar 2种经典实现
2011-12-15 14:05 1163我今天实装了ProcessBar 的两种实现方式 下面 ... -
winform 让事件提前运行
2011-12-15 13:54 1628今天遇到了一个问题,就是让Winform中的事件提前运行的问题 ... -
using C# modify app.config in the run time
2011-12-13 11:19 1358今天在印度的网站上发现一个很经典的代码,也对比了国内的网站的答 ... -
winform 方向键焦点丢失问题(keydown event not work)
2011-12-10 11:47 1996在项目中遇到了,方向键不能被keydown event 捕捉的 ... -
Windows Install SQL Manager Error
2011-11-21 09:52 1112在安装SQL Manager的时候会出现异常,是由于操作系统的 ... -
C# 文件Copy 不包含.svn文件
2011-11-18 11:48 1867今天遇到了C#文件copy的问题 现在写出了解决方案 ... -
实现winform 代码导入dll
2011-11-14 14:48 1538代码如下: [DllImport(" ... -
.net 3.5 Form Chart 解决方案
2011-11-12 16:49 1748刚刚写了一篇关于自己生活的文章,下面写下,最近我一直在做个项目 ... -
Window Form所有组件按主Form扩大
2011-11-08 13:08 1311今天遇到了Form 扩大到问题,写下了如下代码,希望对大家有用 ...
相关推荐
通过以上步骤,你就可以在C# WinForm应用中实现打开第三方应用程序的功能。这只是一个基础实例,实际应用中可能需要考虑更多细节,如进程通信、多进程管理等。理解并熟练使用`System.Diagnostics.Process`类,将使你...
描述中提到,这个自动升级程序是作者为WinForm应用程序设计的,适用于任何WinForm客户端。这意味着无论你的WinForm应用是什么,只要按照一定的接口或规范进行集成,都可以利用这个自动升级程序。作者将其开源共享,...
在C# Winform编程中,MDI(Multiple Document Interface)多文档界面是一种常见的窗口布局方式,它允许在一个主窗口中嵌套多个子窗口,每个子窗口可以独立操作,但共享同一菜单栏、工具栏等资源。本文将深入探讨如何...
本文将详细介绍如何在C#的Winform应用程序中打开并控制网页页面。 首先,最简单直接的方法是使用`System.Diagnostics.Process.Start()`方法启动默认的浏览器来打开指定的网页。以下是一个简单的示例: ```csharp ...
C# 单实例应用程序实现之winForm进程控制可以通过使用进程(Process)来实现,并且需要使用STAThread线程和Application.Run方法来启动WinForm应用程序。同时,使用Process.GetCurrentProcess和Process....
在C# WinForm开发中,窗体管理是创建复杂用户界面的一个关键方面,尤其是在处理多文档界面...掌握上述关键知识点,将帮助开发者更好地控制WinForm应用程序的窗体生命周期,避免资源浪费,提高程序的稳定性和响应速度。
这是一个简单的示例,旨在展示如何在 C# WinForm 中打开和内嵌 Excel 文档。 标签解释 "C# winform excel"这个标签清晰地表明了本示例的技术栈:C#、WinForm 和 Excel。 知识点1:添加 Excel 引用 在使用 Excel ...
在本文中,我们将深入探讨如何使用C#语言编写WinForm应用程序来实现UDP(User Datagram Protocol)通信。UDP是一种无连接的、不可靠的传输层协议,它提供了比TCP(Transmission Control Protocol)更快的数据传输,...
在C# WinForm应用程序中,开发人员经常需要与用户交互,允许他们选择本地文件以便读取、写入或执行其他操作。"打开文件对话框"是实现这一功能的关键组件。这个对话框允许用户在他们的文件系统中浏览并选择一个特定的...
在C# WinForm应用开发中,经常会遇到需要管理和关闭多个打开窗口的情况。本文将深入探讨如何在C#环境下实现WinForm窗口的关闭操作,以及如何关闭所有已打开的窗口。 首先,我们需要理解C# WinForm窗口(Form)的...
本主题聚焦于"C# WinForm页面多进程打开exe",这是一个关于如何在一个WinForm应用中并行运行多个外部可执行文件(.exe)的技术。在描述中提到,这个功能不仅允许加载多个exe,还能传递参数,这为程序的灵活性和功能...
通过以上步骤,我们便可以实现C# WinForm应用程序从Excel文件导入数据到数据库的功能。这个功能广泛应用于数据迁移、数据分析和报表生成等场景,对于企业级应用尤其有价值。记住,在实际开发过程中,一定要遵循最佳...
"C#Winform图标素材.rar"是一个包含各种图标资源的压缩包,专为C# WinForm开发者设计,用于提升应用程序的界面美观度和用户体验。 首先,我们需要了解C# WinForm是什么。C#是Microsoft公司推出的一种面向对象的编程...
Winform是.NET Framework中的一个强大工具,用于构建桌面应用程序,而C#是其常用的语言。下面我们将详细讲解实现这一功能的关键步骤和相关知识点。 1. 开机自启动: - 注册表编辑:在Windows系统中,可以通过修改...
对于C# WinForm应用程序而言,这一过程同样不可或缺。本文旨在详细介绍如何使用Visual Studio对C# WinForm应用程序进行打包和部署,确保最终用户能够顺利安装并运行程序。 #### 二、准备工作 在开始打包之前,首先...
在C# WinForm应用开发中,自动化打开和关闭可执行文件是常见的需求,这通常涉及到进程管理和操作系统交互。本文将详细讲解如何通过C# WinForm实现这一功能,以及如何关闭那些停止与系统交互的可执行文件。 首先,...
在C# WinForm应用程序开发中,`NotifyIcon`组件是一个非常重要的工具,它允许程序员在系统托盘(屏幕右下角)显示一个图标,并通过该图标提供用户通知和交互功能。`NotifyIcon`实例通常用于那些不需要在任务栏中显示...
这个实例中,`"C#Winform应用程序判定是否已运行实例"`应该包含了示例代码,你可以参考这个项目来理解并应用到自己的程序中。 这个方法适用于那些需要保证单一实例运行的应用程序,如设置程序、监控工具等。使用...
在C# WinForm应用开发中,用户界面的响应性是至关重要的。当程序进行耗时操作,如数据库交互、文件读写或者网络请求时,如果不做处理,用户...合理运用这些技术,可以显著提升C# WinForm应用程序的质量和用户满意度。
WinForm是.NET Framework提供的用于构建Windows桌面应用程序的库,它提供了一组丰富的控件和API,使得开发者能够方便地创建具有图形用户界面的应用程序。 WebSocket API是HTML5的一个重要组成部分,但C#也可以通过...