① Win32 API 文件剪切板编程
把HANDLE改为HINSTANCE式下。
② win32 api编程
首先你要习惯这么多的参数,其次现在并不是直接调用这些API,比如,你可以从MFC入手或者WTL入手,但是,那么多参数,还是没法减少的,也是那么多的参数,不用担心,看习惯了就好了
③ win32 api和MFC编程的标准头文件和主函数是什么啊
MFC编程:http://images.163.com/images/it/books/vc/chap2/chap2_4.htm
MFC编程里用的标准头文件#include <afxwin.h>
Win32 大多数API,用 #include <windows.h>
mfc都给封装起来了,所以自己不用写
mfc程序的主函数是这样的,在appmole.cpp里面
extern "C" int WINAPI
_tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
{
// call shared/exported WinMain
return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
}
//简单的mfc
//hello.cpp
#include <afxwin.h>
// Declare the application class
class CHelloApp : public CWinApp
{
public:
virtual BOOL InitInstance();
};
// Create an instance of the application class
CHelloApp HelloApp;
// Declare the main window class
class CHelloWindow : public CFrameWnd
{
CStatic* cs;
public:
CHelloWindow();
};
// The InitInstance function is called each
// time the application first executes.
BOOL CHelloApp::InitInstance()
{
m_pMainWnd = new CHelloWindow();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
// The constructor for the window class
CHelloWindow::CHelloWindow()
{
// Create the window itself
Create(NULL,
"Hello World!!",
WS_OVERLAPPEDWINDOW,
CRect(0,0,200,200));
// Create a static label
cs = new CStatic();
cs->Create("hello world",
WS_CHILD|WS_VISIBLE|SS_CENTER,
CRect(50,80,150,150),
this);
}
Windows程序的主函数:这个函数就像我们学习C语言时程序的主函数main()的功能是一样的,他代表了程序的入口。但是这个函数看上去比main()似乎繁的多,如果是第一次看见这个函数肯定会感觉一头雾水,但是不要紧我们来看看这个函数各个参数的意义,(其实开始的时候完全可以不理会他们的意义)hInstance是本实例的句柄,句柄可以理解为操作系统管理使用我们的应用程序的别名,它跟指针类似但又不同于指针,它的意义只有操作系统知道,也就是说操作系统通过hInstance就可以找到我们现在的这个程序。hPrevInstance是前一个实例的句柄。szCmdLine:是命令行参数,iCmdShow是窗口的显示方式。现在我们没有必要清除每个参数的具体意义,在接下来的学习中我们用的最多的就是hInstance这个参数,但也不多,而且我们使用vc++时,无论有哪种程序生成方式这个函数一般都会自动生成。
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow)
http://huihua.hebtu.e.cn/hhcmc/study/program1/program/program.htm
④ 如何用Win32 API进行并口通信编程
在工程中添加parallelport.cpp文件,并在任何要调用这个类的模块中#include parallelport.h文件。
你的代码必须支持MFC框架,可以静态链接,也可以是动态链接。
最好将afxtempl.h添加到预编译头中,以便提高编译速度。
⑤ WIN32 API编程,说是两个无法解晰的外部命令
#include<windows.h>
#include<stdio.h>
LRESULTCALLBACKWinProc(
HWNDhwnd,
UINTuMsg,
WPARAMwParam,
LPARAMlParam
);
intWINAPIWinMain(
HINSTANCEhInstance,
HINSTANCEhPrevInstance,
LPSTRlpCmdLine,
intnCmdShow
)
{
WNDCLASSwndclass;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wndclass.hCursor=LoadCursor(NULL,IDC_CROSS);
wndclass.hIcon=LoadIcon(NULL,IDI_WINLOGO);
wndclass.hInstance=hInstance;
wndclass.lpfnWndProc=WinProc;
wndclass.lpszClassName="lesson1";
wndclass.lpszMenuName=NULL;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
RegisterClass(&wndclass);
HWNDhwnd;
hwnd=CreateWindow("lesson1","MFC课程1",0,0,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd,SW_NORMAL);
UpdateWindow(hwnd);
MSGmsg;
while(GetMessage(&msg,NULL,0,0)!=0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return0;
}
LRESULTCALLBACKWinProc(
HWNDhwnd,
UINTuMsg,
WPARAMwParam,
LPARAMlParam
)
{
switch(uMsg)
{
caseWM_CHAR:
charclik[20];
sprintf(clik,"输入字符为%d",wParam);
MessageBox(hwnd,clik,"lesson1",MB_OK);
break;
caseWM_LBUTTONDOWN:
MessageBox(hwnd,"单击操作","提示",MB_OK);
HDChdc;
hdc=GetDC(hwnd);
TextOut(hdc,0,0,"这是第一次WIN32API编程",strlen("这是第一次MFC编程"));
ReleaseDC(hwnd,hdc);
break;
caseWM_CLOSE:
if(IDYES==MessageBox(hwnd,"是否真的退出?","lesson1",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
caseWM_DESTROY:
PostQuitMessage(0);
break;
default:
returnDefWindowProc(hwnd,uMsg,wParam,lParam);
}
return0;
}
声明了两个winproc函数,实现一个。另外,一些拼写和函数使用错误。
⑥ Win32 API是什么啊怎么用
API是Application Programming Interface的缩写,即应用程序接口,它是由Win32操作系统提供给程序员的一系列函数接口的集合,这些函数可以对计算机系统进行各种各样的操作,比如创建窗口、描绘图形、使用周边设备等等,它们犹如“积木块”一样,可以搭建出各种界面丰富,功能灵活的应用程序。所以可以认为API函数是构筑整个WINDOWS框架的基石,在它的下面是WINDOWS的操作系统核心,而它的上面则是所有的华丽的WINDOWS应用程序。Win32系统负责实现API函数,为我们的程序控制计算机搭建一座便捷的桥梁。
我们常用的VC中的MFC库(微软基础类库)就是Visual Sudio集成开发环境为我们提供的以面向对象方式对Win32 API的封装,无论我们是否使用了MFC库,只要是开发Win32程序归根结底都要调用Win32 API。
Windows API包括几千个可调用的函数,它们大致可以分为以下几个大类:基本服务、组件服务、用户界面服务、图形多媒体服务、消息和协作、网络、Web服务。这么多函数全部记住当然不可能,也没必要,如上所述,集成开发环境开发环境提供的类库和控件封装了大部分的API函数,且易学易用,极大地减少了Windows程序员的工作量,当然即使这样,为了使程序代码简洁及效率高,我们的程序往往偶尔还需要直接调用Win32 API,所以我们还是需要适当的记住一些完成某些常用功能的API函数名,用法参数可以不记,因为可以现用现查。
至于MSDN,它是开发文档,使用它可以方便地查询Win32 API的功能、使用方法。
⑦ WIN32 API 编程:创建子窗口(编辑控件 EDIT)后通过菜单选项改变子窗口控件 样式
Windows 记事本就是类似你这样的窗口,有一个自动换行的选项。事实上你用 SetWindowLong 改变样式确实是无效的,我也试过。应该是需要重新创建该控件的。