控制台开启邮箱--C语言实现
来源:互联网 发布:2017公安部网络严打 编辑:程序博客网 时间:2024/05/17 06:06
需要用到shell32.dll里的ShellExecute函数。
代码如下:
/**********CopyRight@piaoxiang.zhang*****/#include <stdio.h>#include <string.h>#include <windows.h>typedef int (*ReadReg)(HKEY ,LPCTSTR ,LPTSTR ,PLONG ) ;typedef int (*Shell_Exec)(HWND,char *,char *,char *,char *,int);char * data_Set="mailto\\shell\\open\\command\\"; char data[128]={0};void GetNameFromString(char *s,int *L){ int len=*L,cnt,i; char *ptr,c='"',cp='\\' ; char *tmp =(char*)malloc(128*sizeof(char)); ptr=strchr(s,c); i=ptr-s; printf("ptr-s=%d\n",i); do{ i++; if(s[i]==c)break; if(s[i]==cp) { *tmp=s[i]; tmp++; *tmp=s[i]; tmp++; } else { *tmp=s[i]; tmp++; } }while(i<len); cnt=i; while(i>0){ } if(i!=len)s[i]='\0'; free(tmp);}int main(int argv,char **argc){ int dataSize; HANDLE hwnd; HINSTANCE hLib;#if 0 hLib= LoadLibrary("advapi32.dll"); int ret=0; if(!hLib) printf("缺少advapi32.dll\n"); ReadReg dllReadReg; dllReadReg= (ReadReg)GetProcAddress(hLib,"RegQueryValueA"); if(!dllReadReg)printf("没有RegOpenKeyA\n"); ret=dllReadReg(HKEY_CLASSES_ROOT,data_Set,data,&dataSize); printf("reg=%s,dataSize=%d\n",data,dataSize); GetNameFromString(data,&dataSize) ; printf("after:%s\n",data) ; //WinExec("D:\\Program Files\\Foxmail 7.2\\Foxmail.exe",SW_SHOWNORMAL);#endif hLib= LoadLibrary("shell32.dll"); if(!hLib) printf("shell32.dll\n"); Shell_Exec dllShell_Exec; dllShell_Exec=(Shell_Exec)GetProcAddress(hLib,"ShellExecuteA"); if(!dllShell_Exec)printf("没有ShellExecuteA\n"); dllShell_Exec(hwnd,"open","mailto:piaoxiang.zhang@163.com", NULL,NULL,SW_SHOWNORMAL); system("pause"); return 0;}
效果图:
0 0
- 控制台开启邮箱--C语言实现
- C语言实现控制台背景闪烁
- Android系统C语言控制台工程实现
- c语言控制台 之 弹幕实现
- C语言控制台小游戏
- C语言控制台进度条
- C 语言控制台输入
- C语言-控制台俄罗斯方块
- C语言链表实现的控制台程序员信息管理系统
- C语言实现之控制台打印正六边形
- C语言实现控制台输出背景颜色字体颜色变化
- c语言实现扫雷(简易版,控制台)
- 用C语言实现控制台模拟显示时
- C语言实现控制台输出表格样式格式化
- Windows上C语言实现设置控制台的颜色
- Sierpinski triangle(谢尔宾斯基三角形)C语言控制台实现
- C - 控制台运行实现
- c语言控制台的俄罗斯方块
- lnmp环境解析非php扩展名文件的方法
- ZOJ 3950 How Many Nines
- request 获取各种路径
- javascript入门系列之一《定时器的使用》
- H5笔记-本地存储indexedDB
- 控制台开启邮箱--C语言实现
- 02-线性结构2 一元多项式的乘法与加法运算 (20分)
- iOS 简单易懂的 Block 回调使用和解析
- 令人拍案叫绝的Wasserstein GAN
- 详解swift和OC以及C语言的混编
- HDFS小坑
- android-ViewPager的轮播效果
- 设计模式:装饰模式
- python-网络爬虫初学三:网络异常的捕获