posts - 131, comments - 12, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

//创建文件夹
CString strFolderPath="c:\\deletetest.sql" ;
// 判断路径是否存在 
if (!PathIsDirectory(strFolderPath) ) 
CString strMsg; 
strMsg.Format ("指定路径\"%s\"不存在,是否创建?",strFolderPath); 
if (AfxMessageBox(strMsg, MB_YESNO) == IDYES) 
if (!CreateDirectory(strFolderPath, NULL ) ) 
strMsg.Format ("创建路径\"%s\"失败!是否继续?",strFolderPath); 
if (AfxMessageBox(strMsg, MB_YESNO) == IDYES) 
return; 
}
//创建并写入文件
/* fopen example */
#include <stdio.h>
int main ()
{
  FILE * pFile;
  pFile = fopen ("myfile.txt","w");
  if (pFile!=NULL)
  {
    fputs ("fopen example",pFile);
    fclose (pFile);
  }
  return 0;
}
//删除文件
1.
system( "del c:\\DBControlRun_deletefun.sql" );

2.
isError=(int)ShellExecute(dbControlrunDlg.hWnd,
NULL,
_T("cmd"),
_T("/K del c:\\DBControlRun_deletefun.sql"),
NULL, 
SW_HIDE);

posted @ 2012-11-26 11:00 盛胜 阅读(954) | 评论 (0)编辑 收藏

转载请注明出处谢谢:
http://www.cppblog.com/lanshengsheng/archive/2012/11/23/195592.html
查看mysql的注册表路径  

运行中输入“regedit”

进入后,找到      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL

其实mysql启动的路径一般为:可执行文件的路径:
"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.5\my.ini" MySQL

//从注册表读取MySQL路径
CRegKey m_hKey;
if (m_hKey.Open(HKEY_LOCAL_MACHINE,"SYSTEM\\CurrentControlSet\\Services\\MySQL",KEY_READ)!=ERROR_SUCCESS)
{
m_strMYSQLPath="";
return false;
}
DWORD ValueLen=MAX_PATH;
TCHAR Value[MAX_PATH];
memset(Value,0,MAX_PATH);
if (m_hKey.QueryValue(Value,"ImagePath",&ValueLen)!=ERROR_SUCCESS)
{
m_strMYSQLPath="";
return false;
}
m_strMYSQLPath=Value;
int i=m_strMYSQLPath.Find(":");
m_strMYSQLPath=m_strMYSQLPath.Right(m_strMYSQLPath.GetLength()-i+1);
i=m_strMYSQLPath.Find("\"");
m_strMYSQLPath=m_strMYSQLPath.Left(i);
CString strch;
char * pCh = m_strMYSQLPath.GetBuffer();
char * pFindFile = strrchr(pCh, '\\');
strch=(CString)(pFindFile);
m_strMYSQLPath=m_strMYSQLPath.Left(m_strMYSQLPath.GetLength()-strch.GetLength());
m_strMYSQLPath.ReleaseBuffer();
return true;

posted @ 2012-11-23 11:10 盛胜 阅读(9573) | 评论 (0)编辑 收藏

MFC 得到某个程序的安装路径

在实际应用过程中,常常会碰到需要得到某个应用程序的路径的问题。

拿最近我给S+core IDE写的几个工具来说,就必须首先知道S+core IDE的安装路径,才可以获取到一些跟IDE的设置相关的信息。

如何得到某个应用程序的路径?一个朋友给出了这样的思路:

首先通过注册表获取开始菜单的路径,然后在安装程序里遍历快捷方式,找到想要的那个应用程序。但是这种方法比较麻烦,而且效率太低。

研究了一下注册表,发现了这样一个比较有意思的地方:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\

(点击查看大图)

看起来,好像所有安装过的应用程序都会在这里注册。于是,想到利用这个位置来查找自己想要的东西。

以S+core IDE这个程序的查找为例,

在上面的分支里会有一个名为“S+core IDE.exe”的分支,这个分支的名字是跟S+core IDE这个应用程序的可执行文件同名的。

在这个分支下,Path的值即为应用程序所在的路径,而分支的默认值则代表了应用程序的可执行文件的完整路径。

基于此,可以方便的获取到S+core IDE的安装路径:

(点击查看大图)

这种方法在WinXP系统上验证通过,但是不知道对于其他的应用程序是否也适用,另外,在其他windows系统上不知道是否通用

posted @ 2012-11-23 10:45 盛胜 阅读(931) | 评论 (0)编辑 收藏

CString str="c:\\log.txt";
FILE* pfile = fopen( str, "r" ); // 打开文件 
TCHAR szBuf[MAX_PATH];
memset(szBuf,0,MAX_PATH);
fread( szBuf, 1, MAX_PATH, pfile ); // 读取文件
                        GetDlgItem( IDC_SEND )->SetWindowText( szBuf ); // 写控件 
fclose( pfile ); // 关闭文件

posted @ 2012-11-22 14:48 盛胜 阅读(167) | 评论 (0)编辑 收藏

#include <shellapi.h>
PathFileExists 函数可以用来查看一个文件或文件夹是否存在。
if (PathFileExists(strDBPath))
{
   //存在

}

else //不存在

posted @ 2012-11-22 14:28 盛胜 阅读(743) | 评论 (0)编辑 收藏

  cmd > file 把 stdout 重定向到 file 文件中 
   cmd >> file 把 stdout 重定向到 file 文件中(追加) 
   cmd 1> file 把 stdout 重定向到 file 文件中 
   cmd > file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中 
   cmd 2> file 把 stderr 重定向到 file 文件中 
   cmd 2>> file 把 stderr 重定向到 file 文件中(追加) 
   cmd >> file 2>&1 把 stderr 和 stderr 一起重定向到 file 文件中 
   cmd < file >file2 cmd 命令以 file 文件作为 stdin,以 file2 文件作为 stdout
这里重定向比较全了
STDIN   0   标准输入   键盘     命令在执行时所要的输入数据通过它来取得  
STDOUT   1   标准输出   显示器   命令执行后的输出结果从该端口送出  
STDERR   2   标准错误   显示器   命令执行时的错误信息通过该端口送出


posted @ 2012-11-22 12:02 盛胜 阅读(2213) | 评论 (0)编辑 收藏

一些windows的系统命令:


winver---------检查Windows版本 
wmimgmt.msc----打开windows管理体系结构(WMI) 
wupdmgr--------windows更新程序 
wscript--------windows脚本宿主设置 
write----------写字板 
winmsd---------系统信息 
wiaacmgr-------扫描仪和照相机向导 
winchat--------XP自带局域网聊天 


mem.exe--------显示内存使用情况 
Msconfig.exe---系统配置实用程序 
mplayer2-------简易widnows media player 
mspaint--------画图板 
mstsc----------远程桌面连接 
mplayer2-------媒体播放机 
magnify--------放大镜实用程序 
mmc------------打开控制台 
mobsync--------同步命令 


dxdiag---------检查DirectX信息 
drwtsn32------ 系统医生 
devmgmt.msc--- 设备管理器 
dfrg.msc-------磁盘碎片整理程序 
diskmgmt.msc---磁盘管理实用程序 
dcomcnfg-------打开系统组件服务 
ddeshare-------打开DDE共享设置 
dvdplay--------DVD播放器 


net stop messenger-----停止信使服务 
net start messenger----开始信使服务 
notepad--------打开记事本 
nslookup-------网络管理的工具向导 
ntbackup-------系统备份和还原 
narrator-------屏幕“讲述人” 
ntmsmgr.msc----移动存储管理器 
ntmsoprq.msc---移动存储管理员*作请求 
netstat -an----(TC)命令检查接口 


syncapp--------创建一个公文包 
sysedit--------系统配置编辑器 
sigverif-------文件签名验证程序 
sndrec32-------录音机 
shrpubw--------创建共享文件夹 
secpol.msc-----本地安全策略 
syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码 
services.msc---本地服务设置 
Sndvol32-------音量控制程序 
sfc.exe--------系统文件检查器 
sfc /scannow---windows文件保护 


tsshutdn-------60秒倒计时关机命令 
tourstart------xp简介(安装完成后出现的漫游xp程序) 
taskmgr--------任务管理器 


eventvwr-------事件查看器 
eudcedit-------造字程序 
explorer-------打开资源管理器 


packager-------对象包装程序 
perfmon.msc----计算机性能监测程序 
progman--------程序管理器 


regedit.exe----注册表 
rsop.msc-------组策略结果集 
regedt32-------注册表编辑器 
rononce -p ----15秒关机 
regsvr32 /u *.dll----停止dll文件运行 
regsvr32 /u zipfldr.dll------取消ZIP支持 


cmd.exe--------CMD命令提示符 
chkdsk.exe-----Chkdsk磁盘检查 
certmgr.msc----证书管理实用程序 
calc-----------启动计算器 
charmap--------启动字符映射表 
cliconfg-------SQL SERVER 客户端网络实用程序 
Clipbrd--------剪贴板查看器 
conf-----------启动netmeeting 
compmgmt.msc---计算机管理 
cleanmgr-------好东西整理 
ciadv.msc------索引服务程序 


osk------------打开屏幕键盘 
odbcad32-------ODBC数据源管理器 
oobe/msoobe /a----检查XP是否激活 
lusrmgr.msc----本机用户和组 
logoff---------注销命令 


iexpress-------木马捆绑工具,系统自带 


Nslookup-------IP地址侦测器 


fsmgmt.msc-----共享文件夹管理器 


utilman--------辅助工具管理器 


gpedit.msc-----组策略 
xp下运行命令大全. 


$Systemroot$Documents and Settingsusername 目录下 


appwiz.cpl------------添加删除程序 


control userpasswords2--------用户帐户设置 


cleanmgr-------垃圾整理 


CMD--------------命令提示符可以当作是 Windows 的一个附件,Ping,Convert 这些不能在图形环境下 使用的功能要借助它来完成。 


cmd------jview察看Java虚拟机版本。 


command.com------调用的则是系统内置的 NTVDM,一个 DOS虚拟机。它完全是一个类似 Virtual PC 的 虚拟环境,和系统本身联系不大。当我们在命令提示符下运行 DOS 程序时,实际上也 是自动转移到 NTVDM虚拟机下,和 CMD 本身没什么关系。 


calc-----------启动计算器 


chkdsk.exe-----Chkdsk磁盘检查 


compmgmt.msc---计算机管理 


conf-----------启动 netmeeting 


control userpasswords2-----User Account 权限设置 


devmgmt.msc--- 设备管理器 


diskmgmt.msc---磁盘管理实用程序 


dfrg.msc-------磁盘碎片整理程序 


drwtsn32------ 系统医生 


dvdplay--------启动Media Player 


dxdiag-----------DirectX Diagnostic Tool 


gpedit.msc-------组策略编辑器 


gpupdate /target:computer /force 强制刷新组策略 


eventvwr.exe-----事件查看器 


explorer-------打开资源管理器 


logoff---------注销命令 


lusrmgr.msc----本机用户和组 


msinfo32---------系统信息 


msconfig---------系统配置实用程序 


net start (servicename)----启动该服务 


net stop (servicename)-----停止该服务 


notepad--------打开记事本 


nusrmgr.cpl-------同control userpasswords,打开用户帐户控制面板 


Nslookup-------IP地址侦测器 


oobe/msoobe /a----检查XP是否激活 


perfmon.msc----计算机性能监测程序 


progman--------程序管理器 


regedit----------注册表编辑器 


regedt32-------注册表编辑器 


regsvr32 /u *.dll----停止dll文件运行 


route print------查看路由表 


rononce -p ----15秒关机 


rsop.msc-------组策略结果集 


rundll32.exe rundll32.exe %Systemroot%System32shimgvw.dll,ImageView_Fullscreen----启动一个空白的Windows 图片和传真查看器 


secpol.msc--------本地安全策略 


services.msc---本地服务设置 


sfc /scannow-----启动系统文件检查器 


sndrec32-------录音机 


taskmgr-----任务管理器(适用于2000/xp/2003) 


tsshutdn-------60秒倒计时关机命令 


winchat--------XP自带局域网聊天 


winmsd---------系统信息 


winver-----显示About Windows 窗口


Windows XP的关机是由Shutdown.exe程序来控制的,位于Windows\System32文件夹中。如果想让Windows 2000也实现同样的效果,可以把Shutdown.exe复制到系统目录下。 


比如你的电脑要在22:00关机,可以选择“开始→运行”,输入“at 22:00 Shutdown -s”, 这样,到了22点电脑就会出现“系统关机”对话框,默认有30秒钟的倒计时并提示你保存工作。如果你想以倒计时的方式关机,可以输入“Shutdown.exe -s -t 3600”,这里表示60 分钟后自动关机,“3600”代表60分钟。 


设置好自动关机后,如果想取消的话,可以在运行中输入“shutdown -a”。另外输入“shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置。 


Shutdown.exe的参数,每个都具有特定的用途,执行每一个都会产生不同的效果,比如 “-s”就表示关闭本地计算机,“-a”表示取消关机操作,下面列出了更多参数, 可以在Shutdown.exe中按需使用。 


-f:强行关闭应用程序 


-m \\计算机名:控制远程计算机 


-i:显示图形用户界面,但必须是Shutdown的第一个选项 


-l:注销当前用户 


-r:关机并重启 


-t 时间:设置关机倒计时 


-c "消息内容":输入关机对话框中的消息内容(不能超127个字符) 


有时候,我们需要定时关闭计算机,下面介绍一个在Windows XP下实现定时关机的简单方法。 


指定系统在22分钟后自动关闭:点击“开始→运行”,在“打开”中输入命令“Shutdown -s -t 1320”(注意:引号不输入,参数之间有空格,1320的单位是秒),单击“确定” 
按钮即可。 


指定系统在某个时间(比如12:00)自动关闭:在“打开”中输入命令 
“at 12:00 Shutdown -s”即可。 


取消定时关机:在“打开”中输入命令“Shutdown -a”即可。

posted @ 2012-11-22 08:31 盛胜 阅读(207) | 评论 (0)编辑 收藏

this->GetParent()->PostMessage(WM_CLOSE,0,0);

posted @ 2012-11-21 15:37 盛胜 阅读(157) | 评论 (0)编辑 收藏

MFC中Radio Button使用方法

先为对话框加上2个radio button,分别是Radio1和Radio2。

问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了?

关键是选上,“默认”只要放在OnInitDialog()即可。三种方法可以让它选上,
第一种:
((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上
((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(FALSE);//不选上
((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck();返回1表示选上,0表示没选上
第二种:
关联一个congtrol型变量(子类化),好ctrl+W(即打开classwizard),点开 Member Variables,咦?怎么没有IDC_RADIO1这个ID?原来是没有分组。因为radio button通常都是成组使用的,在一组里面是互斥的。取消,回到对话框资源面板,右键Radio1查看属性把Group选上,那么,Radio1和Radio2就是一组了(怎么知道他们是一组的?后面说)。此时,就可以为Radio1增加一congtrol型变量m_ctrlRadio1了。如下:
m_ctrlRadio1.SetCheck(TRUE);
同样可以使用GetCheck()获取状态。
第三种:
关联一个int型变量(同样需要先分组)m_nRadio1,打开对话框构造函数,你会发现有:
m_nRadio1 = -1;m_nRadio1别赋值-1表示哪个都没有选上。如果你把-1改成0,就会发现Radio1默认被选上了,依此类推,m_nRadio1的值为1就是第二个被选上了(这里同样有问题,哪个是第一个?哪个是第二个?)。获取状态很简单,UpdateData(TRUE)后判断m_nRadio1的值即可。

问题2:如何使用多组?

多组和一组是一样的使用,只要搞清楚哪个是哪一组的就行了。再为对话框添加Radio3和Radio4。很简单,先为这些Radio Button排个顺序,就是排列他们的TAB ORDER。在对话框资源面板上Ctrl+D,然后按你自己的理想顺序用鼠标逐个点击就可以了。不妨假设Radio1、Radio2、Radio3、Radio4分别是1、2、3、4。Radio1和Radio3都选上Group属性,那么,1、2是一组,3、4是另外一组,因为分组的原则是在选上Group属性的这一个开始直到碰到下一个选上Group属性的。你不妨再Ctrl+D,令Radio1、Radio2、Radio3、Radio4分别是1、3、2、4,那么Radio1和Radio3是一组,如果m_nRadio1=1,此时是Radio3被选上而不是Radio2被选上。分好了组就分别使用它们吧。

嗯,也许你还要为它们添加鼠标单击事件,非常简单。

一、对单选按钮进行分组:
每组的第一个单选按钮设置属性:Group,Tabstop,Auto;其余按钮设置属性Tabstop,Auto。如:
Radio1、Radio2、Radio3为一组,Radio4、Radio5为一组

设定Radio1属性:Group,Tabstop,Auto
设定Radio2属性:Tabstop,Auto
设定Radio3属性:Tabstop,Auto

设定Radio4属性:Group,Tabstop,Auto
设定Radio5属性:Tabstop,Auto

二、用ClassWizard为单选控件定义变量,每组只能定义一个。如:m_Radio1、m_Radio4。

三、用ClassWizard生成各单选按钮的单击消息函数,并加入内容:

void CWEditView::OnRadio1()
{
    m_Radio1 = 0;    //第一个单选按钮被选中
}

void CWEditView::OnRadio2()
{
    m_Radio1 = 1;    //第二个单选按钮被选中
}

void CWEditView::OnRadio3()
{
    m_Radio1 = 2;    //第三个单选按钮被选中
}

void CWEditView::OnRadio4()
{
    m_Radio4 = 0;    //第四个单选按钮被选中
}

void CWEditView::OnRadio5()
{
    m_Radio4 = 1;    //第五个单选按钮被选中
}

四、设置默认按钮:
在定义控件变量时,ClassWizard在构造函数中会把变量初值设为-1,只需把它改为其它值即可。
如:
//{{AFX_DATA_INIT(CUnitBlockTypeFlankPublicAdd)
m_Radio1 = 0;    //初始时第一个单选按钮被选中
m_Radio4 = 0;    //初始时第四个单选按钮被选中
//}}AFX_DATA_INIT

posted @ 2012-11-21 14:50 盛胜 阅读(263) | 评论 (0)编辑 收藏

写过一个关于获得文件所在路径的方法,这一次需要选择一个目标文件夹,因此就涉及到了如何获取文件夹路径的问题。

步骤/方法

  1.   百度之后,得到如下解决方案:
      char szSelected[MAX_PATH];//用来存放文件夹路径
      BROWSEINFO bi;
      LPITEMIDLIST pidl;
    MFC中获得文件夹路径的方法
  2.   bi.hwndOwner = this->m_hWnd;
      bi.pidlRoot = NULL;
      bi.pszDisplayName = szSelected;
    MFC中获得文件夹路径的方法
  3.   bi.lpszTitle = "选择输出文件路径";
      bi.ulFlags = BIF_RETURNONLYFSDIRS;
      bi.lpfn = NULL;
      bi.lParam = NULL;
      bi.iImage = NULL;
    MFC中获得文件夹路径的方法
  4.   if((pidl = SHBrowseForFolder(&bi)) != NULL)
      {
      if(SUCCEEDED(SHGetPathFromIDList(pidl, szSelected)))//得到文件夹的全路径,不要的话,只得本文件夹名
      {
      m_strFileOut = szSelected;
      }
      }
      其效果如下图
    MFC中获得文件夹路径的方法

posted @ 2012-11-21 14:12 盛胜 阅读(719) | 评论 (0)编辑 收藏

仅列出标题
共14页: First 3 4 5 6 7 8 9 10 11 Last