摘要: 因为程序是放在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 慧由心生 阅读(652) 评论(2) 推荐(0) 编辑
摘要: Vista 和 Windows 7 操作系统为了加强安全,增加了 UAC(用户账户控制) 的机制,如果 UAC 被打开,用户即使是以管理员权限登录,其应用程序默认情况下也无法对系统目录,系统注册表等可能影响系统运行的设置进行写操作。这个机制大大增强了系统的安全性,但对应用程序开发者来说,我们不能强迫用户去关闭UAC,但有时我们开发的应用程序又需要以 Administrator 的方式运行,即 Win7 中 以 as administrator 方式运行,那么我们怎么来实现这样的功能呢?我们在 win7 下运行一些安装程序时,会发现首先弹出一个对话框,让用户确认是否同意允许这个程序改变你的计算机 阅读全文
posted @ 2013-03-05 16:48 慧由心生 阅读(2965) 评论(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 慧由心生 阅读(771) 评论(3) 推荐(0) 编辑
摘要: 我要测试的文件夹如下(首先设置问价的权限为ReadOnly 只读,代码将修改其为可读):‍代码如下:using System;using System.IO;namespace Attri{classProgram{staticvoidMain(string[] args){string path ... 阅读全文
posted @ 2013-03-05 16:40 慧由心生 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 一般Windows下的系统文件(夹)只让受限帐户读取而不让写入和修改。如果要开启写操作权限就需要手动修改文件(夹)的用户帐户安全权限(这操作当然要在管理员帐户下执行).以下用程序封装了一下该操作: 先来个API版本: // // 启用某个账户对某个文件(夹)的所有操作权限 // pszPath: 文件(夹)路径 // pszAccount: 账户名称 // BOOL EnableFileAccountPrivilege (PCTSTR pszPath, PCTSTR pszAccount) { BOOL bSuccess = TRUE; PACL pNewDacl = NU... 阅读全文
posted @ 2013-03-05 16:38 慧由心生 阅读(4746) 评论(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 慧由心生 阅读(440) 评论(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 慧由心生 阅读(551) 评论(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 慧由心生 阅读(2913) 评论(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 慧由心生 阅读(388) 评论(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 慧由心生 阅读(329) 评论(0) 推荐(0) 编辑