(本来就能)跨进程的剪切板

void CMy0629ADlg::OnBnClickedButton1() //复制进剪切 { // TODO: Add your control notification handler code here if(this->OpenClipboard()) //打开剪切板 { ...

2015-06-29 20:14:59

阅读数:311

评论数:0

异步选择机制聊天室

本程序在同一线程内实现了接收端和发送端,与上一章多线程聊天室 的结果类似 在编写网络程序时,采用异步选择机制可能提高网络应用程序的性能,如果再配合多线程,将再进一步提高程序性能 #include #pragma comment(lib, "ws2_32.lib"...

2015-06-28 20:10:15

阅读数:276

评论数:0

互斥对象 事件对象 关键代码段的比较

互斥对象与事件对象属于内核对象 速度慢 多个进程实现同步,可以使用互斥对象和关键代码段 关键代码段 同步速度快 无法设定超时值 容易进入死锁 优先选择 互斥对象 HANDLE hMutex; ::hMutex=::CreateMutexA(NULL,FALSE,NULL); ::WaitFo...

2015-06-27 12:17:59

阅读数:351

评论数:0

关键代码段

#include "stdafx.h" #include #include #include using namespace std; DWORD WINAPI fun1(LPVOID lpParameter); DWORD WINAPI fun2(LPV...

2015-06-26 20:41:53

阅读数:294

评论数:0

利用事件对象 实现线程同步

#include "stdafx.h" #include #include #include using namespace std; DWORD WINAPI fun1(LPVOID lpParameter); DWORD WINAPI fun2(LPVOID lpP...

2015-06-26 18:09:10

阅读数:262

评论数:0

聊天室 利用多线程

//=================================================stdafx.h struct RECVPARAM { SOCKET sock; //已创建的套接字 HWND hwnd; //对话框句柄 }; //=========...

2015-06-25 15:41:55

阅读数:217

评论数:0

保证程序只有一个运行实例

#include "stdafx.h" #include #include #include using namespace std; HANDLE hMutex; int _tmain(int argc, _TCHAR* argv[]) { hM...

2015-06-25 10:10:44

阅读数:252

评论数:0

互斥对象 可以避免脏读

#include "stdafx.h" #include #include #include using namespace std; DWORD WINAPI m_fun1(LPVOID lpParameter); DWORD WINAPI m_fu...

2015-06-25 09:53:46

阅读数:232

评论数:0

程序 进程 线程 初次多线程

一个程序可以对应多个进程 如 记事本可以打开好多个 一个进程也可以同时访问多个程序 每个进程有独立的虚拟地址空间,不同进程内,即使使用相同内存地址实际也是不同的物理内存 进程由两部分组成 1 内核对象 2 地址空间  包含所有的可执行模块 或 DLL模块的代码和数据 还包...

2015-06-24 20:31:54

阅读数:242

评论数:0

一个solution多个project 基于win32console的socket

在现有solution中再添加一个project file->add->new Project 对工程可以右键设置为当前运行工程 会在debug文件夹中生成两个exe 在本soluton中,先运行0603B.exe  后运行0603C.exe // 首...

2015-06-24 18:23:48

阅读数:292

评论数:0

串行化(序列化) 使用CArchive进行读写

将类的对象存入硬盘 就称之为串行化 void CMainFrame::OnSave1() //存 { CFile file("abc.txt",CFile::modeCreate|CFile::modeWrite); ::CArchive ar(&file,::CA...

2015-06-23 18:47:12

阅读数:275

评论数:0

文件不关闭防断电追加写入 写读注册表

void CMy0622BDlg::write_to_file(void) { CString str; this->GetDlgItem(IDC_EDIT1)->GetWindowTextA(str); str=str+"\n"; FILE* pfile...

2015-06-22 20:51:30

阅读数:220

评论数:0

自定义消息 + 在状态栏走进度条

1 在mainFrame CPP 中 #define WM_DATA   WM_USER+100  //定义一个自定义消息 2在h 中 afx_msg LRESULT OnData(WPARAM wParam,LPARAM lParam); //添加声明 DECLARE_MESSAGE_M...

2015-06-20 20:00:19

阅读数:278

评论数:0

修改应用程序外观 注册和使用自定义窗口结构体

修改大小,标题,能否最大化====================================== BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CFrameWndEx::PreCreateWindow(cs)...

2015-06-19 19:19:40

阅读数:228

评论数:0

用三个函数捕捉消息 先后顺序 判断消息的来源 子窗口的判断

APP 的PreTranslateMessage(MSG* pMsg) APP的ProcessMessageFilter(int code, LPMSG lpMsg) Dlg的PreTranslateMessage(MSG* pMsg) 消息被捕捉的顺序是 1 APP 的 PreTr...

2015-06-19 17:21:38

阅读数:280

评论数:0

修改窗口过程函数:按下回车后 焦点转移到下一个编辑框

为了使EDIT控件能收到回车键 属性mutiline要改为TRUE 方法1 ====================================================================== WNDPROC prevProc; LRESULT CALLBAC...

2015-06-18 19:37:54

阅读数:630

评论数:0

用发消息方式实现加法运算

void CMy0618ADlg::OnBnClickedButton1() { // TODO: Add your control notification handler code here int x,y,z; char char1[10],char2[10],char3[10]; ...

2015-06-18 14:11:57

阅读数:245

评论数:0

卡拉OK式渐变色滚屏

this->m_w=0; this->SetTimer(1,100,NULL); ==================================================== OnTimer CString str; str="今天天气不错,挺风...

2015-06-18 06:18:24

阅读数:280

评论数:0

绘图,路径

void CMy0617BView::OnDraw(CDC* pDC) { CMy0617BDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; CMy0617BDoc* p2=this->GetD...

2015-06-17 19:59:40

阅读数:193

评论数:0

文档窗口标题修改

整个标题的修改:   先在框架类mainframe的PreCreateWindow函数前面加入一条语句:cs.style   &=   ~FWS_ADDTOTITLE;则函数变为:   BOOL   CMainFrame::PreCreateWindow(CREATESTRUCT&...

2015-06-17 19:09:50

阅读数:197

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭