请问C++ Builder6 可不可以建立普通的Win32 Application?
如果行,请告知方法。 问题点数:60、回复次数:19Top
1 楼myy()回复于 2002-12-11 13:55:50 得分 10
你说的“普通的Win32 Application”是不是就是用SDK啊?
可以啊,Remove掉所有的单元就行了。Top
2 楼flyycyu(fly)回复于 2002-12-11 14:01:35 得分 0
可以的!Top
3 楼dext(德克斯特)回复于 2002-12-11 16:38:21 得分 0
普通的Win32 Application 是指什么?Top
4 楼Cybergate()回复于 2002-12-11 16:43:07 得分 0
myy:
是的,就是用win32 sdk编程
我把所有的原文件,头文件内容清除,然后粘贴上win32程序,可链接的时候却出错,说有个什么___initVCL之类的找不到,可我的程序里压根没有调用这个函数啊。
Top
5 楼myy()回复于 2002-12-11 16:59:14 得分 0
project->Remove 掉所有的单元
project->View Source 打开 "你的工程名.cpp",写代码Top
6 楼Libran()回复于 2002-12-11 17:05:33 得分 5
用new-Console Wizard,选C++,去掉VCL等选项Top
7 楼szbug(深圳虫)回复于 2002-12-11 17:05:40 得分 0
控制台程序吧?可以啊。。。向导里面有啊。。Top
8 楼szbug(深圳虫)回复于 2002-12-11 17:06:33 得分 0
呵呵。。。还是比Libran()大哥慢了一步。。。Top
9 楼myy()回复于 2002-12-11 17:14:53 得分 0
“控制台程序” 与 “空的Project" 好象不太一样吧。Top
10 楼Cybergate()回复于 2002-12-11 17:15:29 得分 0
谢谢, 不过win32 Application 不是Win32 Console
我说的是以WinMain作入口函数的那种 Win32 Application, 没有类库,但有GDI。
Top
11 楼Cybergate()回复于 2002-12-11 17:15:54 得分 0
myy: 我回去试试:)Top
12 楼myy()回复于 2002-12-11 17:25:59 得分 0
还好你知道 win32 Application 不是 Win32 Console,
要不然我又要 浪费口水若干桶 了,呵呵。Top
13 楼NowCan(城市浪人)回复于 2002-12-11 21:17:34 得分 0
BCC32 -W filename.cpp
就可以了,根本都不用IDE。Top
14 楼NowCan(城市浪人)回复于 2002-12-11 21:18:09 得分 15
should be
BCC32 -WW filename.cpp
sorry!Top
15 楼mopyman(only you c plus plus)回复于 2002-12-11 21:52:56 得分 0
用new-Console Wizard,选C++,去掉VCL等选项
然后将单元文件清空,然后#incude <windows.h>,然后WinMain,没任何问题
#inculde <windows.h>
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
PSTR szCmdLine,int iCmdShow)
{
MessageBox(NULL,"hello world","hello",0);
return 0;
}
Top
16 楼ThinkX(秋天的树)回复于 2002-12-11 22:16:54 得分 25
注意到在new-Console Wizard中有一个选项是“Console Application”,去掉这个选项,去掉Use VCL选项,就是只有WinMain的程序。Top
17 楼myy()回复于 2002-12-11 22:18:11 得分 5
to mopyman(是非成败转头空) :
我用BCB6,象你说的那样,我试了试:
[Linker Error] Unresolved external '_main' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\C0X32.OBJ
必须手工改 Bpr 的编译选项才行!Top
18 楼dext(德克斯特)回复于 2002-12-12 09:11:04 得分 0
嗬嗬,原来是这么一回事!
//---------------------------------------------------------------------------
#include <windows.h>
#pragma hdrstop
//---------------------------------------------------------------------------
LRESULT APIENTRY MainWndProc(HWND,UINT,UINT,LONG);
BOOL InitApplication(HINSTANCE);
BOOL InitInstance(HINSTANCE, int);
HINSTANCE hInst;
BOOL InitApplication(HINSTANCE hInstance)
{
WNDCLASS wc;
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = MainWndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(hInstance, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = GetStockObject(WHITE_BRUSH);
wc.lpszMenuName = NULL;
wc.lpszClassName = "MyApp";
return (RegisterClass(&wc));
}
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
HWND hWnd;
hWnd = CreateWindow(
"MyApp",
"大家开始WINDOWS编程吧!",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,//horizontal position.
CW_USEDEFAULT,//vertical position.
CW_USEDEFAULT,// Default width.
CW_USEDEFAULT,// Default height.
NULL,
NULL,// Use the window class menu.
hInstance,
NULL
);
if (!hWnd)
return (FALSE);
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
return (TRUE);
}
#pragma argsused
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hNull,LPSTR lpCmdLine, int nCmdShow)
{
MSG msg;
hInst=hInstance;
if (!InitApplication(hInstance))
return (FALSE);
if (!InitInstance(hInstance, nCmdShow))
return (FALSE);
while (GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return (msg.wParam);
}
#pragma argsused
LRESULT APIENTRY MainWndProc(HWND hWnd,UINT uMsg,UINT wParam,LONG lParam)
{
switch(uMsg)
{
case WM_CREATE:
break;
case WM_PAINT:
{
PAINTSTRUCT ps;
BeginPaint(hWnd,&ps);
EndPaint(hWnd,&ps);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
default:
return (DefWindowProc(hWnd,uMsg,wParam,lParam));
}
return 0L;
}
Top
19 楼nanyu(南郁(d2school.com))回复于 2002-12-21 12:19:12 得分 0
win32 Application 不是 Win32 Console??? 这在于你的选项。它可以是也可以不是。Top




