03 2013 档案

摘要:设置当前线程的区域性public static void SetCurrentThreadCultureInfo(string name) { Properties.Resource.Culture = new System.Globalization.CultureInfo(name); var newName = name; switch (Properties.Resource.Culture.Name) { case "zh-CHS": newName = "zh-CN"; break; case "zh-CHT": newN 阅读全文
posted @ 2013-03-26 10:41 慧由心生 阅读(2037) 评论(2) 推荐(0) 编辑
摘要:如设置当前语言上下文:AppDomain.CurrentDomain.UnhandledException +=CurrentDomainUnhandledException;If(System.Configuration.ConfigurationManager.AppSettings[“Languange”] != null){ Resources.Culture = new CultureInfo(System.Configuration.ConfigurationManager.AppSettings[“Languange”] )}Common.Properties.Resources 阅读全文
posted @ 2013-03-26 10:23 慧由心生 阅读(235) 评论(0) 推荐(0) 编辑
摘要:一、DLL与应用程序动态链接库(也称为DLL,即为“Dynamic Link Library”的缩写)是Microsoft Windows最重要的组成要素之一,打开Windows系统文件夹,你会发现文件夹中有很多DLL文件,Windows就是将一些主要的系统功能以DLL模块的形式实现。动态链接库是不能直接执行的,也不能接收消息,它只是一个独立的文件,其中包含能被程序或其它DLL调用来完成一定操作的函数(方法。注:C#中一般称为“方法”),但这些函数不是执行程序本身的一部分,而是根据进程的需要按需载入,此时才能发挥作用。DLL只有在应用程序需要时才被系统加载到进程的虚拟空间中,成为调用进程的一部 阅读全文
posted @ 2013-03-19 22:00 慧由心生 阅读(352) 评论(0) 推荐(0) 编辑
摘要:第一篇编译C的动态连接库在实际工作中,我们经常会将C语言中的.lib和.h文件(静态库)编译成动态连接库.dll文件(这里只提供这两种文件,没有完整的工程),以提供给其他语言平台调用。1,必须有.lib文件,只有.h文件是无法编译动态连接库的。2,我使用的是VS2008,这里打开VS,新建项目—〉win32控制台应用程序,输入项目名称,点击确定,图示如fig.1所示。 Fig.13,点击下一步,依次如图fig.2-3所示,最后点击完成,就会生成一个带有.cpp的文件。 Fig.2 Fig.34,打开项目—属性—配置属性—链接器—输入,如下图fig.4所示,在附加依赖项中... 阅读全文
posted @ 2013-03-19 21:58 慧由心生 阅读(3154) 评论(0) 推荐(0) 编辑
摘要:一、ADO1、导入ADO动态数据库:#import "c:\program files\common files\system\ado\maado15.dll" no_namespace rename("EOF","adoEOF")2、初始化COM环境:::CoInitalize(NULL);::CoUninitalize();3、连接数据库:_ConnectionPtr pconnect(__uuidof(Connection));pconnect->ConnectionString="Provider=SQLOLE 阅读全文
posted @ 2013-03-19 21:49 慧由心生 阅读(579) 评论(0) 推荐(0) 编辑
摘要:一、创建工作者线程1、创建一个基于对话框的应用程序。2、在对话框上面添加一个按钮控件,其ID为ID_START,标题为“开始工作者线程”,再添加一个进度条控件,并利用类向导添加变量:CprogressCtrl m_progress;3、在C*Dlg.cpp中添加结构体如下:struct threadInfo{int i;CProgressCtrl * pctrlProgress;}Info;4、编写一个函数fun(),实现进度条的步进.UINT fun(LPVOID p){threadInfo * pInfo=(threadInfo *)p;for(int i=0;ii;pInfo->p 阅读全文
posted @ 2013-03-19 21:44 慧由心生 阅读(473) 评论(0) 推荐(0) 编辑
摘要:注意:.cpp文件中包含3个头文件:#include “wmpplayer4.h”、#include“wmpcontrols.h”和#include“wmpsettings.h”1、创建一个基于对话框的应用程序。2、选择Project|Add To project|Components and Controls 命令,在弹出的对话框中选择windows Media Player控件。3、利用鼠标拖动该控件,然后利用类向导给该控件添加变量:CWMPPlayer4 m_myplayer;4、在对话框上添加3个按钮控件,打开、播放、暂停。5、C*Dlg类中添加变量:CString filename。 阅读全文
posted @ 2013-03-19 21:32 慧由心生 阅读(278) 评论(0) 推荐(0) 编辑
摘要:1、MessageBeep(UINT uType);2、sndPlaySound(LPCSTR lpszSound , UINT fuSound);3、playSound(LPCSTR pszSound,HMODULE hmod,DWORD fdwSound);4、MCI介绍:MCIERROR mciSendCommand( MCIDEVICEID IDDevice,//接收命令的MCI设备的ID UINT uMsg,//发送的命令消息 DWORD fdwCommand,//命令消息的标志 DWORD dwParam//命令消息的结构体的地址);实例:播放音频1、新建对话框应用程序,添加播放、 阅读全文
posted @ 2013-03-19 20:44 慧由心生 阅读(397) 评论(0) 推荐(0) 编辑
摘要:因为程序是放在Ukey(U盘)中运行,不是Setup打包程序,所以启动时如果未安装Framework不能直接运行.net的exe启动程序,解决方案是:由C++写的Startup.exe做启动程序,同时检测本机是否安装Framework,如果没有则有c++调用启动安装,安装Framework结束后,启动C#应用程序。其中C++的检测安装启动程序代码如下,VC++6.0实现,做了一个隐藏的form窗体:[cpp]// StartUpDlg.cpp : implementation file//#include "stdafx.h"#include "StartUp.h 阅读全文
posted @ 2013-03-09 08:27 慧由心生 阅读(677) 评论(2) 推荐(0) 编辑
摘要:Vista 和 Windows 7 操作系统为了加强安全,增加了 UAC(用户账户控制) 的机制,如果 UAC 被打开,用户即使是以管理员权限登录,其应用程序默认情况下也无法对系统目录,系统注册表等可能影响系统运行的设置进行写操作。这个机制大大增强了系统的安全性,但对应用程序开发者来说,我们不能强迫用户去关闭UAC,但有时我们开发的应用程序又需要以 Administrator 的方式运行,即 Win7 中 以 as administrator 方式运行,那么我们怎么来实现这样的功能呢?我们在 win7 下运行一些安装程序时,会发现首先弹出一个对话框,让用户确认是否同意允许这个程序改变你的计算机 阅读全文
posted @ 2013-03-05 16:48 慧由心生 阅读(3024) 评论(0) 推荐(0) 编辑
摘要:切换到Visual Studio .NET的设计视图,从上下文菜单中选择Add Installer选项,可以给服务添加安装程序。使用Add Installer选项时,将创建一个新的ProjectInstaller类、一个ServiceInstaller实例和一个ServiceProcessInstaller实例。图32-11显示的是服务的安装程序类。图 32-11根据这张图表,下面详细讨论由Add Installer选项创建的ProjectInstaller.cs文件中的源代码。1. 安装程序类ProjectInstaller类是从System.Configuration.Install.In 阅读全文
posted @ 2013-03-05 16:45 慧由心生 阅读(819) 评论(3) 推荐(0) 编辑
摘要:我要测试的文件夹如下(首先设置问价的权限为ReadOnly 只读,代码将修改其为可读):‍代码如下:using System;using System.IO;namespace Attri{classProgram{staticvoidMain(string[] args){string path ... 阅读全文
posted @ 2013-03-05 16:40 慧由心生 阅读(403) 评论(0) 推荐(0) 编辑
摘要:一般Windows下的系统文件(夹)只让受限帐户读取而不让写入和修改。如果要开启写操作权限就需要手动修改文件(夹)的用户帐户安全权限(这操作当然要在管理员帐户下执行).以下用程序封装了一下该操作: 先来个API版本: // // 启用某个账户对某个文件(夹)的所有操作权限 // pszPath: 文件(夹)路径 // pszAccount: 账户名称 // BOOL EnableFileAccountPrivilege (PCTSTR pszPath, PCTSTR pszAccount) { BOOL bSuccess = TRUE; PACL pNewDacl = NU... 阅读全文
posted @ 2013-03-05 16:38 慧由心生 阅读(4832) 评论(0) 推荐(0) 编辑
摘要:冷静地分析了一下程序说明:1 web站点一个 用途:A.提供下载源(dll,exe,图片...等等...所有最新文件) B.那个啥...嗯....弄个页面,输出xml格式的数据(用response.write输出)这个xml数据要体现,当前版本号,文件名等信息,就是把DataTable以xml表现出来形如以下。(当然,完全可以用WebService,只是个人认为用xml更专业,更节约)2升级程序一个 用途:A.负责判断是否需升级B.下载需要升级的文件 C.将老文件替换成新文件3 你要升级的程序,在此不多说。看接下来的细节。很重要的说明:升级程序是一个独立的exe文件,让它跟主程序打包在一起,安 阅读全文
posted @ 2013-03-05 16:15 慧由心生 阅读(447) 评论(0) 推荐(0) 编辑
摘要:1、创建一个Win32的动态链接库工程,在C++源文件中编写代码如下:#include HHOOK g_hMouse=NULL;LRESULT CALLBACK MouseProc( int nCode, // hook code WPARAM wParam, // message identifier LPARAM lParam // mouse coordinates){ return 1;}void SetHook(){ g_hMouse=SetWindowsHookEx(WH_MOUSE,MouseProc,GetModuleHandle("MouseHook"), 阅读全文
posted @ 2013-03-02 23:30 慧由心生 阅读(564) 评论(0) 推荐(0) 编辑
摘要:1、创建一个Win32的动态链接库工程,在C++源文件中编写代码如下:#include HHOOK g_hKeyboard=NULL;LRESULT CALLBACK KeyboardProc( int code, // hook code WPARAM wParam, // virtual-key code LPARAM lParam // keystroke-message information){ return 1;}void SetHook(){ g_hKeyboard=SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,GetModuleHandle 阅读全文
posted @ 2013-03-02 23:29 慧由心生 阅读(2939) 评论(0) 推荐(0) 编辑
摘要://基于控制台的程序//模板类:CTypedPtrlist、CTypedPtrArray、CTypedPtrMap;添加MFC的支持,方法如下://Project|Settings命令,弹出Project Setting对话框,在General标签下的“Microsoft Foundation Classes”下选择Used MFC in Shared DLL项。#include #include //引入头文件class BASE //定义一个类{public:int x; //类的成员变量int y;};CTypedPtrList m_list; //模板列表void main(){in. 阅读全文
posted @ 2013-03-02 23:26 慧由心生 阅读(407) 评论(0) 推荐(0) 编辑
摘要:MFC一、创建DLL1、创建MFC动态链接库,在第4部选择“Regular DLL With MFC shared linked”类型,即创建与MFC动态链接的常规DLL,可以被Win32应用程序和MFC应用程序使用。2、添加函数。在生成的工程的test.h文件中添加语句如下:extern "C" void _declspec(dllexport)print();上面添加的是函数的声明语句,然后在.cpp文件中编写函数体。extern "C" void _declspec(dllexport)print(){ CString str="DLL& 阅读全文
posted @ 2013-03-02 23:25 慧由心生 阅读(338) 评论(0) 推荐(0) 编辑
摘要:打印过程:OnPreparePrinting()函数进行打印中一些信息的设置。OnBeginPrinting()函数创建打印资源。OnPrepareDC()函数设置具体打印一页时的信息。调用OnPrint()函数打印一页。1、在利用向导生成单文档和多文档应用程序的过程中,用户可以选择应用程序是否支持打印和打印预览功能。(在向导的第4部)2、将默认的MM_TEXT模式转换为MM_LOENGLISH模式。方法如下:SetMapMode(MM_LOENGLISH);3、多页打印: 在打印或打印预览时可以在OnBeginPrinting()函数中设置打印的页数。如:void CTestView::O. 阅读全文
posted @ 2013-03-02 23:12 慧由心生 阅读(536) 评论(0) 推荐(0) 编辑
摘要:1、下载JMail4.3安装2、添加对话框应用程序:一、发信模块:2、点击写信按钮:void CJMailDlg::OnSend(){ // TODO: Add your control notification handler code here GetDlgItem(IDOK)->EnableWindow(TRUE); GetDlgItem(IDC_NAME)->EnableWindow(TRUE); GetDlgItem(IDC_SENDAD)->EnableWindow(TRUE); GetDlgItem(IDC_PASSWORD)->EnableWindow( 阅读全文
posted @ 2013-03-02 23:07 慧由心生 阅读(3480) 评论(0) 推荐(0) 编辑
摘要:基于TCP(面向连接)的Socket编程一、客户端:1、打开一个套接字(Socket);2、发起连接请求(connect);3、如果连接成功,则进行数据交换(read、write、send、recv);4、数据交换完成,关闭连接(shutdown、close);二、服务器端:1、打开一个套接字(Socket);2、将套接字绑定到服务器地址上(bind);3、指定套接字为服务器套接字(listen),做好连接请求准备;4、等待连接请求(connect);5、如果连接请求到,则连接建立,进行数据交换(read、write、send、recv);6、数据交换完成,关闭连接(shutdown、clos 阅读全文
posted @ 2013-03-02 23:03 慧由心生 阅读(3562) 评论(0) 推荐(0) 编辑
摘要:1、void MySocket::OnConnect(int nErrorCode){ // TODO: Add your specialized code here and/or call the base class if(nErrorCode!=0) //连接失败 AfxMessageBox("端口关闭"); else AfxMessageBox("端口打开"); CAsyncSocket::OnConnect(nErrorCode);}2、 CString m_ipstr; MySocket m_socket;void CTestDlg::OnC 阅读全文
posted @ 2013-03-02 22:59 慧由心生 阅读(2111) 评论(0) 推荐(0) 编辑
摘要:WinInet开发:1、添加一个下载按钮和一个保存地址按钮,和两个编辑框;并添加各自的变量;2、C*Dlg类添加成员变量:CString url;CString savefilename;3、保存地址按钮的消息映射函数:void CTestDlg::OnWhere() {// TODO: Add your control notification handler code hereGetDlgItemText(IDC_URL,url);if(url==""){AfxMessageBox("请填入URL地址");return;}//下面得到文件类型,即.后 阅读全文
posted @ 2013-03-02 22:53 慧由心生 阅读(976) 评论(0) 推荐(0) 编辑
摘要:1、使用区域绘制图形: CBrush *oldbrush; CBrush brush(RGB(0,0,0)); oldbrush=pDC->SelectObject(&brush); CRgn rgn1,rgn2; rgn1.CreateEllipticRgn(150,150,350,350);//画大圆,圆心(250,250),半径100 rgn2.CreateEllipticRgn(100,100,340,340); rgn1.CombineRgn(&rgn1,&rgn2,RGN_DIFF); pDC->FrameRgn(&rgn1,&b 阅读全文
posted @ 2013-03-02 22:46 慧由心生 阅读(276) 评论(0) 推荐(0) 编辑
摘要:总体:对于普通的BMP\DIB格式的图片,GDI中提供了LoadImage()函数;对于PNP、JPG、GIF、等格式的文件VC++中提供了OleLoadPicture()函数。一、1、创建一个单文档应用程序,并在View类中添加函数、变量如下: void LoadPicture(); LPPICTURE m_picture; float size; CString filename;2、LoadPicture();函数代码如下:void CTestView::LoadPicture()//LPPICTRUE LoadPicture(CStirng filename){ HANDLE hfil 阅读全文
posted @ 2013-03-02 22:43 慧由心生 阅读(928) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示