摘要:
VISTA Windows 7 都使用了UAC来控制程序访问,对于一些需要使用管理员身份运行的程序就得右键以管理员身份运行。C# 编程中可以使程序自动使用管理员身份运行,也就是我们常常看到一些程序的图标上会冒出个盾牌。方法:在源码的Properties目录中找到 app.manifest,将其中level=”asInvoker” 改成 level=”requireAdministrator”就可以了,如果没有app.manifest文件可以打开项目属性,找到安全性项,勾上启用 ClickOnce 安全设置,这时会生成app.manifest文件,然后再把勾去掉,不要选上。这样你重新编译,你的程 阅读全文
摘要:
尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写。当需要用到Dll引用的时候,我们通常会通过“添加引用”的方式将它们纳入到项目中,然后就可以像使用自己的类一样方便的使用它们了。但是,有些Dll库(OCX)文件是需要注册到Windows注册表后才能正常添加和使用的。本文介绍两种为Dll库(OCX)自动注册的方法,为大家提供参考。首先,大家都知道在Windows的“运行”中,输入“Regsvr32.exe 路径”这样的方法来手动注册Dll控件(OCX),显示这种方法对于程序的自动化部署等带 阅读全文
摘要:
用C#做WinForm程序,时间长了难免会遇到和COM组件打交道的地方,用什么方式创建C# COM对象也成了我们必须面对的一个问题.据我所知道的创建C# COM对象的方法一共有以下几种:1.使用.NET包装COM组件 这是最简单的就是导入COM组件所在的DLL,让IDE生成。NET一个IL包装加到项目中,这样原来COM里面所有实现了IDispatch,Dual的COM类型及其相关类型就可以直接在。NET程序里面使用,比如以前在2003时代,想要写自己的基于IE的浏览器,就得手动加入与IWebBrowser2接口相关的DLL,这种方式是大家最常用的,也是最傻瓜化的,因此也没什么可解释的。 但是这 阅读全文
摘要:
C#代码:方式一:引用命名空间:using Microsoft.Win32;判断指定CLASSID的注册表键值是否存在来判断是否存在注册类。RegistryKey regKey = Registry.ClassesRoot.OpenSubKey("CLSID\\{00460182-9E5E-11d5-B7C8-B8269041DD57}\\");if (regKey != null){ MessageBox.Show("存在指定ClassID的注册"); }方法二:通过包装的对象,直接建立实例,来确定对象是否注册,失败表示未注册,成功表示注册。方法三:通 阅读全文