首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

VC++6.0源码改成delphi源码,呀!该怎么处理

2013-01-25 
VC++6.0源码改成delphi源码,急呀!原文如下我想把它改成delphi下远行那位给写出源码笔者主要是采用了Window

VC++6.0源码改成delphi源码,急呀!
原文如下我想把它改成delphi下远行那位给写出源码
笔者主要是采用了Windows API 函数,下面先对几个API函数简单的介绍一下:  

FindWindow( LPCTSTR lpszClassName, LPCTSTR lpszWindowName ):  

查找指定类名和窗口名的窗口,返回一个窗口句柄。GetWindowText( HWND hWndLPTSTR lpString, int nMaxCount ):  

获得窗口的文本,如果该窗口是对话框,则lpString返回它的标题。  

FindWindowEx( HWND hwndParent, HWND hwndChildAfter, LPCTSTR lpszClass,  

LPCTSTR lpszWindow ):  

在指定的父窗口内查找第一个指定类名的子窗口,返回一个窗口句柄。  

SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ):  

发一个消息给指定窗口,直到消息被处理完才返回。  

SendNotifyMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam):  

发一个消息给指定窗口。  


有了设计思想后,再来选定一种程序语言。由于大部分语言都支持Windows API函数,所以选什么语言并不太重要,比如DELPHI,VC++,C++BUILDER,VB等都可以,笔者采用的是VC++6.0。  


HWND a_window,b_window,f_window;  


CFileException e;  

char* pFileName ;  

char pbuf[100];  

memset(pbuf,0,100);  

LPTSTR lpString;  

CString filename=theApp.GetProfileString("Parameter","FileName","result.txt");//从配置文件中读取要填入对话框的文件名,也就是打印到文件的文件名  

CString title=theApp.GetProfileString("Parameter","DialogName","打印到文件");//从配置文件中读取要输入文件名的对话框的标题,如果是英文软件就应该是”Print to file”  


f_window=::FindWindow((LPCSTR)(DWORD)WC_DIALOG,title);//找到要输入文件名的对话框的窗口,获得它的句柄。  

memset(pbuf,0,100);  

:: (f_window,pbuf,15);  

lpString=title.GetBuffer(15);  

if(*lpString==*pbuf)  
GetWindowText
{  

pFileName=filename.GetBuffer(20);  

CFile::Remove( pFileName );//如果已经有同名文件存在,则先删除。  

filename.ReleaseBuffer();  

//注意: CEdit和CButton 都是CWnd 的子类,所以都是窗口,也可以用::FindWindowEx查找得到。  

a_window=::FindWindowEx(f_window,NULL,"Edit",NULL);//找到要输入文件名的编辑框。  

lpString=filename.GetBuffer(15);  


::SendMessage(a_window, WM_SETTEXT,NULL,(LPARAM)lpString);//模拟键盘输入文件名  

b_window=::FindWindowEx(f_window,NULL,"Button",NULL);// 找到”确定”按扭  


::SendNotifyMessage(b_window, WM_LBUTTONDOWN,MK_LBUTTON,NULL);//给”确定”按扭发送一个按下鼠标左键的消息  

::SendNotifyMessage(b_window, WM_LBUTTONUP, NULL,NULL);// 再给”确定”按扭发送一个弹起鼠标左键的消息,第三个参数一定要是NULL,否则不成功。  

}  

title.ReleaseBuffer();  

上述问题必须在delphi7下运行通过我需要原代码
[解决办法]
留个QQ。452330643。传你

热点排行