#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) {
WNDCLASS wc;
static TCHAR *szAppName = TEXT("ck");
HWND hwnd = NULL;
MSG msg;
wc.style = CS_HREDRAW | CS_VREDRAW; //窗口样式
wc.lpfnWndProc = WndProc; //过程函数
wc.cbClsExtra = 0; //扩展字段
wc.cbWndExtra = 0; //扩展字段
wc.hInstance = hInstance; //当前实例句柄
wc.hIcon = LoadIcon(hInstance, IDI_APPLICATION); //设置程序图标
wc.hCursor = LoadCursor(NULL, IDC_ARROW); //设置鼠标
wc.hbrBackground = (HBRUSH) GetStockObject(BLACK_BRUSH);
wc.lpszMenuName = NULL;
wc.lpszClassName = szAppName;
if (!RegisterClass(&wc)) {
MessageBox(NULL, TEXT("程序只能在windowsNT下运行"),
szAppName, MB_ICONERROR);
return 0;
}
hwnd = CreateWindow(szAppName, //要注册的窗口类名
TEXT("c"),//窗口标题
WS_OVERLAPPEDWINDOW, //窗口样式
CW_USEDEFAULT, //窗口距离屏幕左上角都横坐标
CW_USEDEFAULT, //窗口距离屏幕左上角都纵坐标
400, //窗口宽度
300, //窗口高度
NULL, //父窗口句柄
NULL, //菜单句柄
hInstance, //当前实例句柄
NULL);
ShowWindow(hwnd, iCmdShow);
UpdateWindow(hwnd);
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
/**
消息处理函数
*/
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
switch (message) {
case WM_PAINT:{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hwnd, &ps);
SetTextColor(hdc, RGB(255, 0, 0));
TextOut(hdc, 50, 50, "hello!", strlen("hello!"));
EndPaint(hwnd, &ps);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
}
//调用默认的过程函数
return DefWindowProc(hwnd, message, wParam, lParam);
}
加上 SetBkColor
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hwnd, &ps);
SetTextColor(hdc, RGB(255, 0, 0));
SetBkColor(hdc, RGB(0, 0, 0)); // 设置背景色为黑色
TextOut(hdc, 50, 50, "hello!", strlen("hello!"));
EndPaint(hwnd, &ps);
不知道你这个问题是否已经解决, 如果还没有解决的话:1)在 HKEY_CLASSES_ROOT 下找到.xls和.xlsx。
2)查看.xls和.xlsx文件夹默认处的数值是否设置正确。.xls是创建xls表格的,.xlsx是创建xlsx表格的。如下图所示,默认出的数值需要与以下箭头所指对应。没有就自己创建。该处的目的是创建右键可创建表格。(创建文件夹为:单击鼠标右键>新建>项。创建文件里的数值为:单击鼠标右键>新建>字符串值)(ET.Xls.6 Excel.Sheet.12)
3)查看ET.Xls.6与Excel.Sheet.12中是否有ShellNew。没有就自己创建文件夹。
4)在ET.Xls.6与Excel.Sheet.12中的ShellNew中,创建FileName,并将值修改为C:\Program Files\Microsoft Office\root\vfs\Windows\SHELLNEW\EXCEL12.XLSX(该对应的是XLSX的,XLS的照着添加即可)。如有自己修改值即可。
该处的目的是,创建一个默认创建的模板。不一定需要上面的那个路径,也可以自己新建一个xls和xlsx文件放在一个目录中,将FileName的值指向该路径即可。
此时,可正常打开。