写了份装B代码
来源:互联网 发布:tsp 组合优化问题 编辑:程序博客网 时间:2024/05/16 14:42
// 无任何意义代码#include <windows.h>#include <stdlib.h>#include <stdio.h>#include <tchar.h>DWORD dwTime = 5000;BOOL IsRuned = FALSE;UINT TimerHandle = 0;#if defined _DEBUG && !defined _CONSOLE#define print print_f#elif defined _DEBUG#define print printf#else#define print(a) #endif#if defined _DEBUG && !defined _CONSOLEvoid print_f(TCHAR* format, ...){ va_list args; HANDLE hconsole; DWORD dwBytes; TCHAR* MessageStr = new TCHAR[1024]; va_start(args, format); _vsnprintf(MessageStr, 1024, format, args); va_end(args); // 这里句柄并不会多产生一个副本,所以不能被关闭,否则就无法输出数据了 hconsole = GetStdHandle(STD_OUTPUT_HANDLE); WriteFile(hconsole, MessageStr, _tcslen(MessageStr)*sizeof(TCHAR), &dwBytes, NULL); delete []MessageStr;}#endif void showtime(int time, LPSYSTEMTIME systime){ print("Set Run Timer %dms \n", time); print("Hour:%d, Minute:%d, Second:%d\n", systime->wHour, systime->wMinute, systime->wSecond);}VOID CALLBACK TimeProc(HWND, UINT, UINT, DWORD){ SYSTEMTIME systime; GetLocalTime(&systime); if ( systime.wHour == 12 && systime.wMinute == 00 ) { IsRuned = TRUE; // Do Something // } else if ( systime.wHour == 11 && systime.wMinute >= 55 ) { DWORD newtime = 60 - systime.wMinute; IsRuned = FALSE; if (dwTime/1000 > newtime/10 ) { // 如果现在是55分,则2500ms (2.5s) if (dwTime > 500) { dwTime = newtime * 500; // 0.5s ~ 5.5s } showtime(dwTime, &systime); KillTimer(NULL, TimerHandle); TimerHandle = SetTimer(NULL, 0, dwTime, TimeProc); } } else if (dwTime <= 5000 ) { if (systime.wHour == 11) { dwTime = 1000*30*1; // 0.5分钟一次 } else { dwTime = 1000*30*2; // 1分钟一次 } showtime(dwTime, &systime); KillTimer(NULL, TimerHandle); TimerHandle = SetTimer(NULL, 0, dwTime, TimeProc); }#ifdef _DEBUG else { showtime(dwTime, &systime); }#endif}INT _tmain(INT argc, TCHAR* argv[], char* env[]){ MSG msg;#if defined _DEBUG && !defined _CONSOLE AllocConsole();#endif TimerHandle = SetTimer(NULL, 0, dwTime, TimeProc); while(GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); }#if defined _DEBUG && !defined _CONSOLE FreeConsole();#endif return 0;}// 解析命令行INT getcommmand(LPTSTR cmdline, TCHAR* argv[], INT argc){if (cmdline == NULL || (argv == NULL && argc != 0) ){return 0;}INT i = 0;INT nCmdCount = 0; while( cmdline[i] != NULL ) { size_t lenth = 0; while ( cmdline[i] == TEXT(' ') || cmdline[i] == TEXT('\t') && cmdline[i] != TEXT('\0') ) { i++; } // 最后留有空格的情况下 if (cmdline[i] == TEXT('\0')) { break; } if (cmdline[i] == TEXT('"')) { i++; while(cmdline[i] != TEXT('"') && cmdline[i] != NULL && cmdline[i] != TEXT('\0')) { i++; lenth++; } } elsewhile( cmdline[i] != TEXT(' ') && cmdline[i] != TEXT('\t') && cmdline[i] != TEXT('\0')){i++;lenth++;}if (nCmdCount < argc){argv[nCmdCount] = (TCHAR*)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, (lenth+1)*sizeof(TCHAR) );memcpy(argv[nCmdCount], &cmdline[i-lenth], lenth*sizeof(TCHAR));} nCmdCount++; if (cmdline[i] == TEXT('"')) { i++; } } return nCmdCount;}// 释放命令行内存VOID freecommand(TCHAR* argv[], INT argc){ for (INT i=0; i<argc; i++) { if ( argv[i] == NULL ) { break; } HeapFree(GetProcessHeap(), HEAP_NO_SERIALIZE, argv[i]); } return ;}INT WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd ){ INT argc = getcommmand(GetCommandLine(), NULL, 0); TCHAR** argv = new TCHAR*[argc]; getcommmand(GetCommandLine(), argv, argc); _tmain(argc, argv, NULL); freecommand(argv, argc); delete []argv; return 0;}
0 0
- 写了份装B代码
- 终于靠写程序挣了第一份钱
- 开始写代码了
- 不写代码了
- 不会写代码了
- 写代码久了
- 杭电2054 A==B 【discuss区的代码写的太好看了】
- 忘了什么时候写的,也忘了曾经那份自如的心情。。。。。。。。。。
- 找了份工作
- 按照网上的文章写了份c3p0连接池求各位批评指点
- 又开始写代码了
- 很久没有写代码了,
- 好久没写代码了
- 很久没写代码了
- 今儿写了点儿代码
- 今天写了两句脑残代码
- 很久没写代码了
- 写了一大串代码后
- 字符段长度
- Hibernate的加载方式——GET与LOAD的对比
- sencha touch笔记(6)——路由控制(1)
- Flume OG 介绍和配置
- SSH动态查询具体实现之service
- 写了份装B代码
- 弧垂计算
- 手机iphone ios android 打开QQ对话框的网页代码!
- 利息计算器
- 【IOS游戏开发】之 一年两次加速审核机会
- 配置PHP环境时 phpinfo()显示空白
- GlassFish4 的admin默认密码为空
- flume 参考文档 (一)
- 改变音量的log