- 博客(35)
- 资源 (34)
- 收藏
- 关注
转载 windowsXP获取权限
WindowsXp也可以向Win7一样获取管理员权限滴!以下代码经过测试,可以在xp下正常检测。当以管理员用户运行此程序时(包括右键选择以管理员权限运行),IsAdmin返回为TRUE。BOOL IsAdmin();int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]){int nRetCode = 0;// i
2012-10-16 09:31:16
260
原创 输出文字到utf8编码的文件
当进行文件写入操作时,会遇到要求文件格式为UTF-8的情况,而写入的文字为宽字符。通常会采用wofstream对象,当然它是可用的,然而生成的文件格式却是ANSI。ok,这是因为UTF-8与宽字符的编码格式不同导致的。需要将宽字符转换为UTF-8,而后用ofstream输出即可。static CString ConvertWide2UTF8(CStringW& wideStr){i
2012-09-19 13:41:55
1001
转载 C/C++多字节输入输出
使用C++标准库的iostream,可以方便地将控制台、文件、字符串以及其它可扩充的外部表示作为流来处理,但要处理中文,却会碰到很多问题。本人原来没怎么用过这个iostream,这几天尝试用这个写点东西,一会儿不能输出中文,一会儿不支持中文文件名的,搞得头大。网上搜了搜,没有发现适用于所有情况的解决方案。不过后来自己经过多次测试,基本解决了这些问题,现在写成文字作为一个总结,也供碰到同样问题的朋友
2012-09-19 08:37:28
449
原创 VC获取启动程序的输出
在程序的开发过程中,经常会遇到调用第三方应用程序的情况,这个时候获取第三方程序的输出就事关重大。那么如何获取第三方程序的输出呢?1.使用CreateProcess,利用管道机制。下面的代码获取了console.exe程序的输出,其参数为-a -b, 可根据情况而变。本程序利用了MFC库。int main(){ SECURITY_ATTRIBUTES sa;
2012-09-06 07:48:03
280
转载 C#代码中处理win7权限
在C#开发的应用程序,在win7下运行时,如果此程序需要创建文件夹等操作,通常无法进行。这是由于代码权限不够的原因,最好让代码具有管理员权限。1.在工程中添加一个manifast文件。2.修改文件中的 (此行已加粗) 此行表明当前工程代码具备管理员权限。 http://www.w3.org/2001/XMLSchema-instance">
2012-03-29 09:32:48
925
1
转载 WPF中ToolBar上的控件靠右
由于ToolBar上的控件只有左对齐和右对齐之说,无法向DockPanel那样将控件左右分别靠边,如果指望将DockPanel套在ToolBar中就能实现,那就错了。但是可以换一个思路。在控件之间插入一个label控件,为其增加HorizontalAlignment="Stretch"属性,并绑定其Width属性。xaml代码如下: HorizontalAlignment="Str
2012-03-16 14:29:32
2602
翻译 在其他线程更新 ObservableCollection 抛出异常System.NotSupportedException
在使用WPF时,为与前台UI绑定数据,经常使用ObservableCollection ,然而当我们希望在后台线程更新ObservableCollection ,从而使前台实时显示时,会抛出System.NotSupportedException,导致UI crossthreading exception. 可以重载ObservableCollection的OnCollec
2012-02-16 11:39:08
1997
原创 C++ 文件内容的读写
在C++的各种库中,基本都有对文件的读写操作的类。然而windows的基本库中对文件的操作应该是最快捷和简单的了。 1.查看文件是否存在,需要引入 #include #include
2011-12-30 14:41:04
224
原创 C++中##在linux中应用的限制
在微软的编译器下,在宏中使用##可以将两个字符串连接起来,如下:#define STR_COMTACT(name) "good bye" ## name ## "!" 然而在linux的gcc4.1编译器下,这样的宏在编译时是非法的,但可以这样处理:#define STR_COMTACT(name) string( "good bye") + name + "!"
2011-11-18 16:34:01
190
翻译 在设置form父窗口时,根据传入非托管句柄无法获取到form对象。
现有一个C#开发的com库,提供的接口有接受非托管句柄hwnd的参数,hwnd为com中显示对话框的父窗口句柄!然而在设置form父窗口时,根据传入句柄无法获取到form对象。代码如下form.Owner = (Form)Form.FromHandle(hwndOwner
2011-09-22 11:17:47
887
原创 Code Analysis1.36版中扯淡的warning
在新版的code analysis10.0中(装备在VS2010上),很多warning在实践的检验后被删除,这是相对于1.36版而言的!下面列出1.36版中的一些扯淡warning——编译时即使有,也可以忽略rid:-Microsoft.Globalization#CA
2011-09-13 15:24:48
419
原创 Win7注册表中win32程序的注册
win7的Program Files目录有两个,一个是Program Files、另一个是Program Files (*86)。当注册com为64位,那么会在目标键中注册com的路径为~/Program Files/../com.dll;当注册的com为32位时,不但会
2011-08-16 18:03:16
178
原创 写注册文件,reg文件的写法
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\weiran\ddd\ext\dfgfg]"Update"=dword:00000001"FilePath"="C:\\Program F
2011-08-09 11:01:38
343
转载 获取windows特殊文件夹的路径
#include "shlobj.h" //包含头文件WINSHELLAPI HRESULT WINAPI SHGetSpecialFolderLocation (HWND hwndOwner, int nFolder,LPITEMIDLIST * ppidl); //函数声明hwndOwner: 指定了"所有者窗口",在调用这个函数是可能出現的对话框或信息框.nFolder: 是一个整数id,決定哪个目录是待查找目录,它的取值可能是CSIDL_BITBUCKET 回收
2011-05-24 17:40:00
306
原创 _tprintf显示日文乱码
<br />_tprintf显示日文乱码显示日文是会有乱码,代码如下:<br /> BSTR name = ::SysAllocString(_T("私は桜てす"));<br /> _tprintf(_T("name = %s "), name);<br /> <br />解决办法:<br />在调用_tprintf之前,设置一下语言,代码如下:<br />_tsetlocale(LC_ALL, _T("jpn"));<br /> <br />ok,乱码没有了。
2011-05-18 11:43:00
565
原创 用C#编写Com以及托管非托管之间的封送处理
用C#编写Com用C#编写Com是如此的简单,比C++的ATL还要简单。但是当C++的非托管代码调用C#编写的托管Com时,接口函数变成什么样子了呢?例如:C#中的接口如下定义: [Guid("FA1FD727-74C7-4434-95D4-B25BC82F709C")] public interface ICSharp { [DispId(
2011-05-18 11:37:00
1458
原创 C++非托管调用托管C#编写的Com
用C#编写Com是如此的简单,比C++的ATL还要简单。但是当C++的非托管代码调用C#编写的托管Com时,接口函数变成什么样子了呢?例如:C#中的接口如下定义: [Guid("FA1FD727-74C7-4434-95D4-B25BC82F709C")] public interface ICSharp { [DispId(1)]
2011-04-21 10:36:00
929
原创 webdav上传文件 C#
System.Uri myURi = new System.Uri("http://20.1.128.37:80/webdav/good.bmp"); FileStream inStream = File.OpenRead("D://good.bmp"); BinaryReader binaryRead = new BinaryReader(inStream); byte[] bytes
2011-03-18 09:30:00
678
转载 #pragma用法说明
#pragma 预处理指令详解 <br /><br /> 在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。 <br />#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。 <br />依据定义,编译指示
2011-03-15 09:05:00
167
原创 浏览文件夹并获取其路径
BROWSEINFO bi; <br /> ::ZeroMemory(&bi,sizeof(bi)); <br /> WCHAR chPath[MAX_PATH] = _T(""); <br /> LPITEMIDLIST pNetHoodIDL; <br />::SHGetSpecialFolderLoc
2011-03-03 15:50:00
187
原创 C++非托管调用托管dll
如要保证调用托管dll,需定义好托管C++的头文件。 1.托管C++设置为混合编译模式。 2.头文件中要保证引入C++非托管库的头文件,如: #include #pragma comment( lib, "comsupp.lib" ) #pragma comment(lib, "comsuppw.lib") #pr
2011-02-22 17:58:00
367
原创 判断http路径是否合法
BOOL AFXAPI AfxParseURLEx( <br /> LPCTSTR pstrURL, <br /> DWORD& dwServiceType, <br /> CString& strServer,
2011-02-21 18:10:00
317
原创 MFC dll 中调用资源32
1.mfc的dll时引入mfc库的dll在调用资源之前必须先初始化程序 if(!AfxWinInit(::GetModuleHandle(NULL),NULL,::GetCommandLine(),0)) { return error; } 正常的mfc中会隐式调用此程序,而在dll中必须显式调用。 当然这还不够还需要调用一个宏 AFX_MANAGE_STATE(Afx
2011-02-19 16:57:00
196
原创 VC中获取当前系统环境变量
getenv, _wgetenv <br />单字节用getenv <br />宽字符用_wgetenv <br />如: <br />char* path = getenv("programfiles"); <br />wchar* path = _wgetenv(L"programfiles"); <br />如果
2011-02-14 10:39:00
583
原创 win2008服务器上扩展webdav服务
win2008头一次用,相当用不惯,并且win2008不直接提供IIS服务,需要启动安装才行。配置webdav主要分一下步骤:1.启动iis7.02.安装webdav扩展3.配置webdav以下详细记述 1.启动iis 1)开始->管理工具->服务器管理 2)点击树列表的第一个节点“分配任务”(本人是日文操作系统,翻译可能不对) 3)在右侧的视图中,点击“添加任务服务” 根据需要选择
2011-01-12 10:53:00
3973
转载 C/C++中重复定义
头文件就是对用户的说明。函数,参数,各种各样的接口的说明。 那既然是说明,那么头文件里面放的自然就是关于函数,变量,类的“声明”了。记着,是“声明”,不是“定义”。那么,我假设大家知道声明和定义的区别。所以,最好不要傻嘻嘻的在头文件里定义什么东西。比如全局变量:/*xx头文件*/#ifndef _XX_头文件.H#define _XX_头文件.Hint A;#endif那么,很糟糕的是,这里的int A是个全局变量的定义,所以如果这个头文件被多次引用的话,你
2011-01-10 13:23:00
278
转载 多重继承转换二义性
<br />如果一个类继承多个基类,而且这些基础继承相同的基类,则进行类型转换时,如果转换成相同的父类型,编译时会产生二义性错误:<br /> class A<br /> { <br /> virtual void test(){} ;<br /> } ;<br /> class B : public A {} ;<br /> class C : public A {} ;<br /> class D: public B, public C {} ;<br /> D *pa = new D() ;<br
2011-01-08 22:01:00
218
原创 删除文件夹及其子文件夹中所有tmp后缀的文件
<br />Option Explicit<br /> <br />Const WINDOW_HANDLE = 0<br />Const OPTIONS = 0<br />Const FILE_TYPE = "*.tmp"<br /> <br />Dim objShell<br />Dim objFolder<br />Set objShell = CreateObject("Shell.Application") <br />Set objFolder = objShell.BrowseForFolder
2010-06-03 10:35:00
424
原创 处理excel的界面
查找既存数据 window.resizeTo(100, 100);] Sub Window_OnLoad window.resizeTo 600, 400 end Sub sub Deal_Excel msgbox("good") end sub 既存数据的excel:
2010-05-30 16:41:00
153
原创 从excel中查找另一个excel中的号码是否存在
*******************************************处理从既存数据中查找是否存在曾经用过的数据*既存数据excel要求:* 1.既存数据的列名为"MSN"* 2.列名所在行为sheet页中第2行*查询数据excel要求:* 1.查找的MSN的列名为"MSN"* 2.列名所在行为sheet页中第1行* 3.记录文件名的列为msn列
2010-05-13 17:05:00
1147
原创 处理excel
Option Explicit获取Excel文件路径dim pathpath = GetFilePath打开excel文档Dim oExcelDim oBookCall OpenExcel(oExcel, oBook)获得所需处理的sheet页Dim oSheetCall OpenSheet(oBook, oSheet, "gh")处理数据Dim inRowFor inRo
2010-05-09 16:16:00
262
原创 为测试用例加上行序号
为sheet页中的测试用例添加序号,并排序。 Dim s As Worksheet Set s = ThisWorkbook.activeSheet If s.Index Exit Sub
2010-03-09 11:14:00
150
原创 对各个sheet页中的结果进行统计
用来对各个sheet页中OK和NA结果的数据进行统计,并填入到结果表中。 Sub SetUTResult() SetResultNum (2) End Sub --------------------Function SetResultNum(time As Integer)
2010-03-09 11:07:00
245
原创 VC查内存泄露
1.对于win32程序头文件: #define _CRTDBG_MAP_ALLOC #include #include 最好也引入#include “DEBUG_NEW.h”:可以显示泄露的具体位置。 在测试代码头部写
2010-01-21 19:32:00
173
原创 数据类型转换
1.基本概念 LPCSTR 32-bit指针,指向一个常数字符串 LPSTR 32-bit指针,指向一个字符串 LPCTSTR 32-bit指针,指向一个常数字符串,此字符串可移植到Unicode和DBCS(双字节字集) LPTSTR 32-bit指针,指向一个字符串。此字符串可移植到Unic
2009-10-21 10:06:00
188
VS2005插件——文件头的注释
2011-09-08
Pro+WPF+in+C#+2010.pdf
2012-03-29
VS2005插件——工具条:加注释、过滤Code Analysis的warning
2011-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人