2012-08-21 23:24
⁄ 工业·编程
⁄ 共 7262字
在局域网中,管理员常常需要将某条信息发送给一组用户。如果使用一对一的发送方法,虽然是可行的,但是过于麻烦,也常会出现漏发、错发。为了更有效的解决这种组通信问题,出现了一种多播技术(也常称为组播通信),它是基于IP层的通信技术。为了帮助读者理解,下面将简要的介绍一下多播的概念。
众所周知,普通IP通信是在一个发送者和一个接收者之间进行的,我们常把它称为点对点的通信,但对于有些应用,...
代码集锦阅读全文
2012-08-21 06:22
⁄ 工业·编程
⁄ 共 6829字
类似360消息弹出框,见实现方式一。本文采用另外的API实现渐入渐出效果。主要API:SetLayeredWindowAttributes。
实现功能:
采用管理器控制消息框每次只显示一个。
消息框独立显示在右下角,不随主窗口放大缩小变化。
鼠标进入消息框区域,渐入渐出效果停止。
1、消息框实现
创建对话框类CMsgTipDlg,设置对话框属性。
Tool Window:true。设置对话框为消息框,任务栏上将没有图标。
Topmost:true。设置对话...
UI界面, 代码集锦阅读全文
2012-08-21 06:19
⁄ 工业·编程
⁄ 共 7317字
类似QQ与360软件,消息提示有两种。上下浮动、渐入渐出。
1、上下浮动提示框实现
机制,定时器响应上下浮动消息。
主要API:MoveWindow。
源码如下UpDownTipDlg.h、UpDownTipDlg.cpp。
UpDownTipDlg.h
/* *@brief 上下浮动提示框 *@date 2012-8-9 */ #pragma once
// CUpDownTipDlg dialog
class CUpDownTipDlg : public CDialog { DECLARE_DYNAMIC(CUpDownTipDlg)
public: ...
UI界面, 代码集锦阅读全文
2012-08-21 06:13
⁄ 工业·编程
⁄ 共 2137字
背景需求:
1、MFC对话框最小化时,只显示系统右下角托盘图标。
2、双击托盘,对话框还原。
3、右键点击托盘,弹出“关闭”菜单,可关闭对话框。
实现步骤:
1、创建MFC对话框程序(本例程序名为TaskbarIcon),属性中设置“MinimizeBox”为true。
2、定义自定义消息宏。
#define NOTIFY_SHOW WM_USER+2500
3、OnSysCommand(系统消息响应函数)添加对话框最小化执行代码。
void CTaskbarIconDlg::OnSysCommand(UINT nID, LPARAM lP...
c++, UI界面阅读全文
2012-08-21 06:12
⁄ 工业·编程
⁄ 共 4663字
一、 概述
C++多线程开发中,容易出现死锁导致程序挂起的现象。关于死锁的信息,见百度百科。 解决步骤分为三步: 1、检测死锁线程。 2、打印线程信息。 3、修改死锁程序。
二、 程序示例 VS2005创建支持MFC的win32控制台程序。 代码见示例代码DeadLockTest.cpp。
// DeadLockTest.cpp : Defines the entry point for the console application. //
#include "stdafx.h" #include "DeadLoc...
c++, 心得阅读全文
2012-08-21 06:09
⁄ 工业·编程
⁄ 共 599字
dynamic_cast运算符可以在执行期决定真正的类型。这里讲一下进行类层次下行转化时一点小心得。
vs2005创建控制台程序。
源码如下:
DynamicCastTest.cpp
#include "stdafx.h"
struct StBaseInfo { int nID; };
struct StExtendInfo : public StBaseInfo { int nAnything; };
int _tmain(int argc, _TCHAR* argv[]) { StBaseInfo* pBa...
c++阅读全文
2012-08-21 06:07
⁄ 工业·编程
⁄ 共 8411字
学习内容,参见《Windows网络编程》第13章原始套接字
Ping程序实现步骤
创建类型为SOCK_RAW的一个套接字,同时设定协议IPPROTO_ICMP。
创建并初始化ICMP头。
调用sendto或WSASendto,将ICMP请求发给远程主机。
调用recvfrom或WSARecvfrom,以接收任何ICMP响应。
ICMP简介
ICMP是(Internet ControlMessage Protocol)Internet控制报文协议。用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路...
代码集锦阅读全文
2012-08-21 06:05
⁄ 工业·编程
⁄ 共 2735字
学习内容出处:《Windows网络编程技术》第4章命名管道。 命名管道的基本原理:利用微软网络提供者(MSNP)重定向器。 特点:
跨网络。
可靠的传输。
单向或双向数据通信。
服务端源码,PipeServer.cpp。
// PipeServer.cpp : Defines the entry point for the console application. //
#include "stdafx.h" #include <Windows.h> #include <stdio.h>
//最多创建实例数 #define NUM_PIP...
软件开发阅读全文
2012-08-21 06:04
⁄ 工业·编程
⁄ 共 543字
背景:用CreateProcess调用win32控制台程序,参数传递win32程序接受不到。
代码:
CString strFullPath = _T(“d:\\test.exe”); CString strCmdLine = _T(“param”); STARTUPINFO si = {sizeof(si)}; PROCESS_INFORMATION pi; BOOL bRunProgram = CreateProcess(strFullPath.GetBuffer(), strCmdLine.GetBuffer(), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
strFullPath.ReleaseBuffer(); strCmdLine.R...
代码集锦阅读全文
2012-08-21 06:03
⁄ 工业·编程
⁄ 共 1731字
用到函数如下 string类的查找函数: int find(char c, int pos = 0) const;//从pos开始查找字符c在当前字符串的位置 int rfind(char c, int pos = npos) const;//从pos开始从后向前查找字符c在当前串中的位置 string的子串: string substr(int pos = 0,int n = npos) const;//返回pos开始的n个字符组成的字符串 string的连接: string &operator+=(const string &s);//把字符串s连接到当前字符串...
代码集锦阅读全文