如何进行有效率的WINDOWS编程。
RT 本人刚学C3个月基础一般,现在刚接触WINDOWS编程,在看《WINDOWS程序设计》。有如下问题向大侠们请教:
1.如果是你们做win32 application 平台下的windows API编程 你们是建个空项目在里面一步不写上框架再做具体的处理,还是建立一个带预编译头的系统为我们建立好的框架在里面写?如果是后者,那么对我来说里面很多东西都不太清楚,我该怎么办?
2.我如果想子windows编程这一块做出点瞩目的成绩,不学C++可不可以(俺现在只会C)。
3.刚来CSDN,感觉这里氛围很好,牛人很多。希望得到大家的帮助。就是不知道刷分有什么用,又怎么刷分?
[解决办法]
1. 后者。不太清楚就google。
2. 不可以。
[解决办法]
不学C++,你会很困难
[解决办法]
先看 <windows 程序设计>再看 <windows 核心编程>
学完C就可以了. c++不学也可以取得很瞩目的成绩.
[解决办法]
1.如果是你们做win32 application 平台下的windows API编程 你们是建个空项目在里面一步不写上框架再做具体的处理,还是建立一个带预编译头的系统为我们建立好的框架在里面写?如果是后者,那么对我来说里面很多东西都不太清楚,我该怎么办?
我喜欢给常用的框架(如窗口、对话框等)建一个向导,二次开发直接用向导生成代码。
也可直接在MSDN中复制代码,关于向导你可以google Custom AppWizard
2.我如果想子windows编程这一块做出点瞩目的成绩,不学C++可不可以(俺现在只会C)。
不知道你所谓的瞩目是指哪方面,如果是指大型应用程序,你可能要学会MFC/wtl,纯c做起来很麻烦会死人的。
--> 建议路线:windows程序设计-->c++--->mfc/wtl
如果是指底层驱动,不学c++完全可以,但你得会汇编语言。
3.刚来CSDN,感觉这里氛围很好,牛人很多。希望得到大家的帮助。就是不知道刷分有什么用,又怎么刷分?
挣可用分,可拿来散分。
[解决办法]
有c基础,如果是初学c++,可以看看孙鑫的视频,然后可以看《windows32位汇编》罗
1.不用那个,自己可以写比较简单的,看你是什么用途,特殊情况窗口都可以不用显示的下面的直接保存成cpp,就可以编译成一个最简单的窗口。当然也可以直接只写 一个messagebox
#include<windows.h>
#include<stdio.h>
LRESULT CALLBACK WinMainProc(
HWND
hwnd,
UINT
uMsg,
WPARAM
wParam,
LPARAM
lParam
);
int WINAPI WinMain(
HINSTANCE
hInstance,
HINSTANCE
hPrevInstance,
LPSTR
lpCmdLine,
int
nCmdShow
)
{
WNDCLASS WndClass;
HWND hWnd;
WndClass.cbClsExtra =0;
WndClass.cbWndExtra =0;
WndClass.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
WndClass.hCursor=LoadCursor(hInstance,IDC_CROSS);
WndClass.hIcon=LoadIcon(hInstance,IDI_APPLICATION);
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=WinMainProc;
WndClass.lpszClassName="winmain";
WndClass.lpszMenuName =NULL;
WndClass.style = CS_HREDRAW | CS_VREDRAW;
RegisterClass(&WndClass);
hWnd=CreateWindow("winmain","WinMain",WS_OVERLAPPEDWINDOW,100,
100,500,400,NULL,NULL,hInstance,NULL);
ShowWindow(hWnd,SW_SHOWNORMAL);
UpdateWindow(hWnd);
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
LRESULT CALLBACK WinMainProc(
HWND
hwnd,
UINT
uMsg,
WPARAM
wParam,
LPARAM
lParam
)
{
switch(uMsg)
{
case WM_PAINT:
break;
default:
return DefWindowProc(hwnd,uMsg,wParam,lParam);
}
return 0;
}
[解决办法]
很多好书都用C++讲的,还是要学C++的
[解决办法]
和楼主一样的情况。。
[解决办法]
看你做什么东西
[解决办法]
语言是工具,
不知道干什么当然不会选择工具了。
------解决方案--------------------
#include <stdio.h>#include <stdlib.h>#include <windows.h>HWND WINAPI GetConsoleWindow();int main(int argc,char *argv[]){ HWND hwnd; HDC hdc; HPEN hpen; hwnd = GetConsoleWindow(); hdc = GetDC(hwnd); system("color F0"); system("cls"); hpen=CreatePen(PS_SOLID,1,RGB(255,0,0)); SelectObject(hdc,hpen); MoveToEx(hdc,20,20,NULL); LineTo(hdc,200,300); DeleteObject(hpen); ReleaseDC(hwnd,hdc); getchar(); return 0;}
[解决办法]
Windows系统:“不要调用我,请先填写好未来收到某个消息时你的处理流程,在那个消息到来时我会调用你!”
[解决办法]