www.pudn.com > DmyNP_source.rar > WinMain.h, change:2004-12-06,size:4091b


/*--> 
Damayi Net-Phone, 2004/11 (damayi.org) 
<--*/ 
 
#include <windows.h> 
#include <lmcons.h> 
#include <winsock.h> 
#include <mmsystem.h> 
#include <stdlib.h> 
#include "src\kphone.h" 
#include "src\resource.h" 
#include "src\string.h" 
 
#pragma pack(1) 
typedef struct 
{ 
   char  type;        //结构类型 
   short identify;    //应用程序标识码 
   short ver;         //应用程序版本号 
   char  soft[20+1];  //应用程序软件名 
   int   reserve;     //保留成员 
   char  name[16+1];  //用户昵称 
   char  sex;         //性别(-1:女, 0:保密, 1:男) 
   char  age;         //年龄 
   char  prov[16+1];  //省份 
   char  city[30+1];  //城市 
   char  tel[22+1];   //电话号码 
   char  web[22+1];   //个人主页 
   char  email[22+1]; //电子邮箱 
}inUSERDATA; 
typedef struct 
{ 
   inUSERDATA in; 
   char note[KP_USERINFO_SIZE - sizeof(inUSERDATA)]; 
}USERDATA; 
#pragma pack() 
 
typedef struct 
{ 
   BYTE  VIn;         //输入无声检测 
   BYTE  NorIn;       //输入减低杂音 
   BYTE  CompMode;    //音频压缩模式 
}inOPT; 
typedef struct 
{ 
   DWORD dwPID;       //用户帐号 
   WORD  wPort;       //通讯端口 
   DWORD dwKeTime;    //联机间隔 
   BOOL  bStartMd;    //启动方式(TRUE:IP模式, FALSE:联机模式) 
   BOOL  bLieup;      //隐身登录(TRUE:是, FALSE:否) 
   BOOL  bPro;        //高级选项(TRUE:开, FALSE:关) 
   DWORD dwLocAr;     //本地地址(IP地址列表编号0~?) 
   DWORD dwSerAr;     //服务器名(服务器列表编号0~?) 
   inOPT stOptM;      //音乐模式(K-Phone通讯设置项) 
   inOPT stOptT;      //语音模式(K-Phone通讯设置项) 
   DWORD dwDefMT;     //默认模式(0:音乐模式, 1:语音模式) 
   BYTE  optAgc;      //输出增益(K-Phone通讯设置项) 
   BYTE  optDelay;    //延迟时间(K-Phone通讯设置项) 
   UINT  uWavePID;    //WAVE输出设备ID 
   UINT  uWaveRID;    //WAVE输入设备ID 
   BOOL  bRing;       //是否启用提示铃声(TRUE:是, FALSE:否) 
   BOOL  bLowPRI;     //进程空闲时优先级(TRUE:低, FALSE:高) 
   BOOL  bTrayIco;    //是否启用任务图标(TRUE:是, FALSE:否) 
   BOOL  bLostAW;     //来电是否弹出窗口(TRUE:是, FALSE:否) 
   WORD  wAutoREV;    //是否自动修复速率(秒, 0则关闭该功能) 
   USERDATA stUD;     //用户资料结构 
}INIVAR; 
 
typedef struct 
{ 
   BOOL  bAvaiINI;    //配置文件是否有效(FALSE:无效) 
   BOOL  bPortErr;    //用于Enter(TRUE:端口参数错误) 
   int   iWSAStar;    //WinSock是否成功初始化(!0:否) 
   BYTE  pass[20];    //用户密码(不足20个字符用0补齐) 
   DWORD dwLocIP;     //本地IP地址(network order) 
   DWORD dwSerIP;     //服务器IP地址(network order) 
   RECT  rtEnter;     //Enter窗口矩形位置(屏幕坐标) 
}SYSOTH; 
 
typedef struct 
{ 
   HDC   hMemDC;      //内存设备描述表句柄 
   HFONT hGuiFont;    //宋体字体句柄 
   HFONT hDevFont;    //系统字体句柄 
   HICON hIconB;      //窗口图标句柄 
   HICON hIconS;      //任务图标句柄 
   void* pPBusy;      //忙音提示音内存地址 
   void* pPNull;      //空号提示音内存地址 
   void* pPOver;      //超时提示音内存地址 
   void* pPRefu;      //拒绝提示音内存地址 
   void* pPWelc;      //欢迎提示音内存地址 
   void* pSBack;      //呼叫提示音内存地址 
   void* pSErr;       //错误提示音内存地址 
   void* pSHang;      //挂断提示音内存地址 
   void* pSRing;      //询问提示音内存地址 
   void* pSTck;       //通话提示音内存地址 
   void* pSWarn;      //通报提示音内存地址 
}GDIOBJ; 
 
typedef struct 
{ 
   DWORD dwHour;      //时(0~?) 
   DWORD dwMin;       //分(0~59) 
   DWORD dwSec;       //秒(0~59) 
}DITIME; 
 
typedef struct 
{ 
   DWORD IP;          //IP地址(network order) 
   WORD  Port;        //端口号(network order) 
   WORD  UVD;         //验证码 
}STCALL; 
 
extern HINSTANCE g_hInst; 
extern char g_pTmp[1025]; 
extern GDIOBJ g_GJ; 
extern INIVAR g_IV; 
extern SYSOTH g_SO; 
 
void PromptError(LPCTSTR); 
BOOL ItoC(DWORD, char *); 
DWORD CtoI(char const *); 
int CtoST(STCALL *, char *); 
DWORD GetIniFileName(char *, DWORD); 
void SetDefaultInivar(INIVAR *); 
BOOL ReadIniFile(INIVAR *); 
BOOL WriteIniFile(INIVAR const *); 
BOOL PlayWave(void const * const, BOOL, BOOL); 
void DiffTime(DITIME *, DWORD); 
 
int Initialize(void); 
int EnterMain(void); 
int GetHnameIP(void); 
int PhoneMain(void); 
void Clear(void);