C++ mfc学习之路二 网页按钮启动应用程序
来源:互联网 发布:ai软件好学吗 编辑:程序博客网 时间:2024/06/06 19:56
C++ mfc学习之路二 网页按钮启动应用程序
(2011-09-30 14:26:48)网页
按钮
启动
应用程序
.exe
杂谈
分类: 学习笔记
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\DDIT]
@="IMHelpProtocol"
"URL Protocol"="要启动的程序的绝对路径"
[HKEY_CLASSES_ROOT\DDIT\DefaultIcon]
@="要启动的程序的绝对路径,2"(后面的数字控制的是当你点击按钮启动本地程序的时候弹出的提示框上边显示的你的程序的ICO 图标)。
[HKEY_CLASSES_ROOT\DDIT\shell]
[HKEY_CLASSES_ROOT\DDIT\shell\open]
[HKEY_CLASSES_ROOT\DDIT\shell\open\command]
@="\"要启动的程序的绝对路径" \"%1\""
把这些东西写好到记事本里面,修改他的扩展名为.reg 这样你就在注册表里面注册了一个DDIT://开头的协议了
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~可爱的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
然后开始写html 代码<a href=ddit://123&456&789&0123>Click
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~可爱的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
但是这是需要用户点击注册表文件才能使文件注册到注册表里面,但是怎么才能实现不点击注册文件就实现呢,那我们只能把这段修改注册表的代码写入到要启动的程序,的初始化部门。具体代码如下:
HKEY RegKey=NULL;
CString fullName="IMHelpProtocol";
RegCreateKey(HKEY_CLASSES_ROOT,"DDIT",&RegKey);
RegSetValueEx(RegKey,NULL,0,REG_SZ,(const unsigned char*)(LPCTSTR)fullName,fullName.GetLength());
fullName="要启动的文件的绝对路径";
RegSetValueEx(RegKey,"URL Protocol",0,REG_SZ,(const unsigned char*)(LPCTSTR)fullName,fullName.GetLength());
fullName="要启动的文件的绝对路径,1"; 设置图标的
RegCreateKey(HKEY_CLASSES_ROOT,"DDIT\\DefaultIcon",&RegKey);
RegSetValueEx(RegKey,NULL,0,REG_SZ,(const unsigned char*)(LPCTSTR)fullName,fullName.GetLength());
RegCreateKey(HKEY_CLASSES_ROOT,"DDIT\\shell",&RegKey);
RegCreateKey(HKEY_CLASSES_ROOT,"DDIT\\shell\\open",&RegKey);
fullName="\"要启动的文件的绝对路径" \"%1\"";
RegCreateKey(HKEY_CLASSES_ROOT,"DDIT\\shell\\open\\command",&RegKey);
RegSetValueEx(RegKey,NULL,0,REG_SZ,(const unsigned char*)(LPCTSTR)fullName,fullName.GetLength());
下面的的代码为MFC 内代码等同于上边的注册表文件代码。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~可爱的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
但是还有一些变态的 客户需要获取网页上的数据,传递给程序,这时候ddit://123&456&789&0123就是你发送的参数你可以需改//后面的字符串作为参数传递进来 中间可以用特殊符号标识,但是怎么接收呢,当然需要强大的API拉:CString text=AfxGetApp()->m_lpCmdLine;
其中的text的值就等于ddit://123&456&789&0123拉
剩下就截取拉 懒人请继续往下看:由于作为初学者代码写的比较麻烦,高手请路过,代码如下
int p1,p2,p3,p4;
这个就写把用&特殊符号隔开的字符串获取出来分别存放在数组listmessage[0]到listmessage[3]中应为只用了4个参数所以长度只定义4个。
补充一点:可以使用一下代码获取当前程序的绝对路径
TCHAR szPath[MAX_PATH];
GetModuleFileName( NULL, szPath, MAX_PATH )
CString load=(CString)szPath;
load就是程序的绝对路径。
- C++ mfc学习之路二 网页按钮启动应用程序
- C++ mfc学习之路二 网页按钮启动应用程序
- 网页按钮启动应用程序
- 《C#Web应用程序入门经典》学习笔记之二
- C#Web应用程序入门经典 学习笔记之二
- MFC 学习之 按钮重绘
- 二 MFC编程入门之VS2010/MFC应用程序框架
- MFC复习和学习 第一章 MFC基础窗口构建 MFC应用程序启动机制 MFC
- MFC:学习杂记之二
- MFC学习之GDI(二)
- MFC Windows应用程序学习之处
- 通过网页启动应用程序
- 理解Visual C++.NET定制MFC应用程序(二)
- Android学习之启动第三方应用程序
- 我的VC 6.0+MFC学习之路(二)
- MFC之按钮
- MFC 设置应用程序开机启动
- MFC应用程序开机自启动
- svn工作原理以及服务搭建和配置
- 大型网站架构演变和知识体系
- 游戏开发中尽量不要做的一些事(技术,策划以及测试)
- 【转】玩转Google开源C++单元测试框架Google Test系列(gtest)之一 - 初识gtest
- 各种数转换成字符串
- C++ mfc学习之路二 网页按钮启动应用程序
- /proc/sysrq-trigger文件的强大功能
- SQL重复记录查询
- 对javascript匿名函数的理解(透彻版)
- svn学习笔记
- SQL开发中容易忽视的一些小地方(二)
- TFS Proxy 初体验
- 通过代码形式给combobox加text和value属性
- 基于Fragment,Loader,Actionbar的几个好文章转载 2