摘要: 学过设计模式的人肯定都学过类的单例模式。而我这里要总结的是关于程序的单例模式1.首先建立一个CRunOnce类如下所示:class CRunOnce{ class CParameter { public: HWND m_hWnd; CString m_str; };public: BOOL IsFirstRun(); void CallInMainFrm(const CDialog *pFrm); void SetPropName(const CString &strPropName);private: CString... 阅读全文
posted @ 2013-10-11 19:10 CY_K_YC 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 今天学习了关于菜单的创建。1.拖取一个菜单,进行编辑想要创建的每个菜单项。记录每个菜单项的ID在要菜单弹出的地方进行如下的操作:1 CMenu menu;2 menu.LoadMenu(IDR_MENU1);3 CMenu *pMenu = menu.GetSubMenu(0);4 if (!m_pPackageRfid->IsUseable())5 {6 for (int i = ID_INVSTART; i EnableMenuItem(i, MF_GRAYED);8 }9 pMenu->TrackPopupMenu(TPM_LEFTALIGN, m_Point.x, m_Po 阅读全文
posted @ 2013-10-11 14:47 CY_K_YC 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 当A程序在后台运行,B程序是当前的焦点时。如何触发A程序的按钮,向B程序写数据?一个很简单的方法就是用钩子这个在msdn上面也是有的,需要的时候可以到上面去查看。g_hKeyBoard= SetWindowsHookEx( WH_KEYBOARD_LL ,KeyBoardProc, GetModuleHandle(NULL), 0 );这里我是勾取键盘的消息。LRESULT CALLBACK CAutoUHFDemoDlg::KeyBoardProc( int nCode, WPARAM wParam, LPARAM lParam ){ if (nCode >= 0) { ... 阅读全文
posted @ 2013-10-10 19:31 CY_K_YC 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 在进行获取时间的时候,我们总是会用系统提供的各种函数。比如C语言中的time但是这个函数在wince下不能运行?我也不知道为什么。当向前查找的时候,发现无法定位。可能在wince下面没有包含C中的time.h这个头文件。所以在这里你就得看time.h中的源代码。其中有这么一个函数是可以用在wince上面_time64(0),当然这个只是到秒的级别。如果想计算在未来的某个时间点再触发某个事情的话,用这个函数式最优的选择。你可以通过把当前时间获取出来,然后加上经过一段时间的秒数进行计算,然后再通过_localtime64_s这个函数进行转化。 time_t times = _time64(0); 阅读全文
posted @ 2013-10-09 14:08 CY_K_YC 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 1、在进行杀标签的时候,如果密码为零,将不能进行灭活。2、在锁标签的时候,如果设定为永久,那将不能进行设置该标签锁的另一种状态。3、在进行获取频率的时候。如果在上电时没有设置频率,那么获取到的频率将是为零。这个并不是因为当前的频率为零。而是默认的情况下,寄存器不存储默认的频率。4、今天研究了下封装完的超高频。不得不感慨前人对超高频研究的透彻。各种功能都想的很周到。5、在进行读写锁杀的时候,需要进行设定固定Q算法。否则在进行这些操作的时候将使用的是默认的固定Q算法。6、在看前人封装的超高频时,发现在盘存的时候,创建的是多线程,但是在判断是否继续Run的时候,可能会出现临界资源的读写冲突。需要在那 阅读全文
posted @ 2013-09-12 18:52 CY_K_YC 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 1 int CDECL MessageBoxPrintf(TCHAR *szCaption, TCHAR *szFormat, ...) 2 { 3 TCHAR szBuffer[1024]; 4 va_list pArgList; 5 6 va_start(pArgList, szBuffer); 7 _vsntprintf(szBuffer, sizeof(szBuffer) / sizeof(TCHAR), 8 szFormat, pArgList); 9 va_end(pArgList);10 return Mess... 阅读全文
posted @ 2013-09-10 23:07 CY_K_YC 阅读(301) 评论(0) 推荐(0) 编辑
摘要: while(GetMessage(&msg, NULL, NULL, NULL)){ TranslateMessage(&msg);//透过USER模块的协助,送到该窗口的窗口函数中,并决定处置方式。是被系统调用,我们没有在应用程序中调用此函数,它是一个回调函数。在WinProc中一定要有一个DefWindowProc函数。来用于交由内部预设的消息处理函数来进行处理。 DidpatchMessage(&msg);}对话框依其父窗口的关系分为模态对话框和非模态对话框。与窗口函数非常类似。但通常只处理WM_INITDIALOG和WM_COMMAND两个消息。程序流程:Cre 阅读全文
posted @ 2013-05-26 17:09 CY_K_YC 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 这题只是简单的动态规划+ 贪心算法首先查找最多可以栏下几颗导弹。 用到了简单的动态规划, 可以通过二分查找的方式进行优化, 二分的时候要注意的是如果相同的数连在一起要一起放到队列里面去。用贪心的时候, 我是用打表的方式, 从最小的开始, 看有没有哪个数符合的就修改如果没有的话, 就计数加一个View Code #include<stdio.h>#include<string.h>#define maxn 30003int map[maxn], store[maxn];int add[maxn];int binary_find(int num, int x){ int l 阅读全文
posted @ 2012-07-21 23:57 CY_K_YC 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 一个简单的搜索题目, 从这个问题可以看出, 只要打一个素数表, 然后, 设置一个 该数是否被访问就可以, 一个简单的深搜就可以解决了。View Code #include<stdio.h>#include<math.h>#include<string.h>#define maxn 26int map[maxn], prime[maxn * 2];int visit[maxn];int n;void init(){ int i, j; memset(prime, 0, sizeof(prime)); for (i = 3; i < 46; i ++) { 阅读全文
posted @ 2012-05-03 01:29 CY_K_YC 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 不得不说下, 这题和2406 几乎是用同样的方法来做。只要这题再枚举下每一个点就可以了。 判断是从第二个字符开始的。 还要判断该字符的下一个next[] 不是0 就可以了View Code #include<stdio.h>#include<string.h>#define maxn 1000008int next[maxn];char sift[maxn];int len;void get_next(){ int i = 0, j = -1; next[0] = -1; while (i <= len) { if (j == -1 || sift[j] ... 阅读全文
posted @ 2012-04-11 01:29 CY_K_YC 阅读(119) 评论(0) 推荐(0) 编辑