上次编写了一个家庭小助手的小工具软件,也对其中的线程池及管理器进行了介绍(见博文:C#开发的线程池和管理器 - 开源研究系列文章),这次把里面的插件部分的功能单独放出来进行介绍,让更多的朋友能够进行学习借鉴及代码复用上. 一.      项目目录: 下面对项目目录进行介绍,其中PlugIns是主程序,Lzhdim的类库为需要的操作库,Plugins.Example为插件程序DLL文件: 二.      插件接口定义: 此程序定义了关于窗口和插件程序两个接口,主要是通过C#的反射进行的调用.其中关…
上次写了一个C#线程池及管理器的博文( C#开发的线程池和管理器 - 开源研究系列文章 ),收到了不小的浏览量,在此感谢各位网友的支持.这次将另一个功能放出来单独讲解:C#应用程序的配置文件,使用的是XML文件保存程序的配置信息,通过XML序列化和反序列化,将配置文件规范起来. 一.      项目目录: 项目主要由一个应用程序及类库组成,其中Framework提供基本的函数,Helper类提供操作需要的函数,Module库提供配置信息对象. 二.      函数介绍: 1.        配置…
上次将小软件的线程池描述了,也将插件程序描述了,这次就将里面的资源文件相关的内容进行下记录,这里能够让程序做成国际化的形式(即多语言程序),主要就是通过这个资源文件的方式进行的处理.下面将对这个资源文件的定义进行描述,比网上的其它例子更能够具有代码复用意义. 一.      项目目录: 下图是项目目录,上面是资源文件类库,下面是应用程序.从资源文件库中可看到,我们定义了4个资源文件类,从中对资源文件库中的资源进行读取. 二.      资源文件定义: 我们在资源类库中定义了几个类,对资源文件进行…
注:本文适用.net2.0+的winform程序 一个winform程序,我希望它不能多开(但是如何防多开不是本文要讲的),那么在用户启动第二个实例的时候,作为第二个实例来说,大概可以有这么几种做法: 弹个窗告知用户[程序已运行]之类,用户点击弹窗后,退出自身 什么都不做,默默退出自身 让已运行的第一个实例把它的窗体显示出来,完了退出自身 显然第3种做法更地道,实现该效果的核心问题其实是:如何显示指定进程的窗口? 首先想到的是调用ShowWindow.SetForegroundWindow等AP…
[C#]无损转换Image为Icon 如题,市面上常见的方法是: var handle = bmp.GetHicon(); //得到图标句柄 return Icon.FromHandle(handle); //通过句柄得到图标 此法的问题是,如果图像是透明背景,那么得到的Icon的边缘就是毛糙的,像是先垫了一层背景色然后再去色的效果,很不如人意,用过的朋友都知道.尚未研究是bmp.GetHicon出的问题,还是Icon.FromHandle有问题,日后有闲心再捣鼓下. 下面给出完美转换方法: /…
众所周知,控制台应用程序一般都会显示一个控制台窗口(虚拟DOS窗口),但很多时候控制台程序的执行逻辑根本不需要与用户进行交互,所以显示这个难看的窗口纯属多余,那么如何将它屏蔽掉呢?下面我向大家介绍一种方法.  操作系统装载应用程序后,做完初始化工作就转到程序的入口点执行.程序的默认入口点实际上是由连接程序设置的,不同的连接器选择的入口函数也不尽相同.在VC下,连接器对控制台程序设置的入口函数是 mainCRTStartup,mainCRTStartup 再调用你自己编写的 main 函数:对图形…
VC无窗口控制台程序 #pragma comment(linker,"/subsystem:\"Windows\" /entry:\"mainCRTStartup\"") 如果使用Unicode字符集,mian可以修改为wmain: 以上代码加入你的头文件stdafx.h或其他头文件中就不会有控制台窗口了.原理:VC 控制台应用程序入口点为cmd窗口后才进入main函数.而上面的指令是告诉编译器程序的入口点为main函数. 大家都知道,当编写一个…
原文出自:http://blog.csdn.net/yuvmen/article/details/5877271 了解MFC程序的启动过程,对于初学者来讲,了学习MFC很有帮助:对于不常用VC的人来说,过一段时间就会忘记.还是来记下来,方便以后查阅. 1.创建Application object对象theApp 程序一开始生产一个(且只有一个)Application object对象theApp,也即一个CWinApp对象,这个全局对象一产生,便执行其构造函数,因为并没有定义CMyWinApp构…
(一)概要: 文章描写叙述了如何通过Visual C++ 2012或者Visual C++ .NET,为单文档或者多文档程序制作启动画面.在Microsoft Visual Studio 6.0中对于单文档程序(SDI)我们能够非常方便利用微软提供的组件Visual C++ Component (Splash Screen).由于在Microsoft Visual Studio 6.0以后的版本号或者Visual C++ .NET没有提供这个组件,我们能够通过自己定义对话框来实现Splash S…
delphi 程序全屏显示无标题栏,覆盖整个屏幕,这个在做工控机或屏保时有用的,所以记下 procedure TMainFrm.FormCreate(Sender: TObject); begin with MainFrm do begin { Position form }        Top := 0 ;        Left := 0 ;        { Go full screen}        BorderStyle := bsNone ;        WindowState…