开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
forked from 腾硕软件/vc-client
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
项目仓库所选许可证以仓库主分支所使用许可证为准
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
vc-client
/
tsim
/
tsim.cpp
vc-client
/
tsim
/
tsim.cpp
tsim.cpp 5.68 KB
一键复制 编辑 原始数据 按行查看 历史
腾硕软件 提交于 2015年04月03日 00:42 +08:00 . 初始提交
// tsim.cpp : 程序入口点
#include "stdafx.h"
#include "infonotify.h"
#include "mainwin.h"
#include "chatwin.h"
#include "options.h"
extern NOTIFYICONDATA niData; //通知栏消息
//窗口枚举函数
BOOL CALLBACK searcher(HWND hWnd, LPARAM lParam){
TCHAR clsName[STRLEN_DEFAULT]={0};
int res=GetClassName(hWnd,clsName,STRLEN_DEFAULT);
if (_tcsicmp(clsName,APP_CLASS)==0){
if (!IsWindowVisible(hWnd)) ShowWindow(hWnd, SW_SHOW);
if (IsIconic(hWnd)) ShowWindow(hWnd,SW_RESTORE);
SetForegroundWindow(hWnd);
return false;
}
return TRUE; //继续枚举
}
//初始化任务栏图标
BOOL InitTaskbarNotifier(HWND hWnd){
ZeroMemory(&niData,sizeof(NOTIFYICONDATA));
niData.cbSize = sizeof(NOTIFYICONDATA);
// ID
niData.uID = TRAYICONID;
// 标志
niData.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP | NIF_GUID;
// 图标
niData.hIcon = (HICON)LoadImage(GetModuleHandle(NULL),MAKEINTRESOURCE(IDI_SMALL),IMAGE_ICON, GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),LR_DEFAULTCOLOR);
//窗口和消息
niData.hWnd = hWnd;
niData.uCallbackMessage = SWM_TRAYMSG;
//消息提示
AppOptions* appOpts=AppOptions::GetInstance();
TCHAR TBTip[MAX_PATH]={0};
_stprintf_s(TBTip,_T("%s - %s"),appOpts->Title,_T("已登录"));
lstrcpyn(niData.szTip, TBTip, sizeof(niData.szTip)/sizeof(TCHAR));
Shell_NotifyIcon(NIM_ADD,&niData);
//释放图标资源
if(niData.hIcon && DestroyIcon(niData.hIcon)) niData.hIcon = NULL;
return TRUE;
}
// 主入口函数
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
TCHAR* cmdLine=GetCommandLine();
//读取所有可用站点
HUSKEY hKey;
AppOptions::pSiteInfoArr=NULL;
ZeroMemory(AppOptions::szCurrentSiteUrl,sizeof(TCHAR)*STRLEN_1K);
if(SHRegOpenUSKey(L"Software\\Discoverx2",KEY_READ,NULL,&hKey,FALSE)==ERROR_SUCCESS){
DWORD dwValidCount=0;
DWORD dwSubKeyCount=0;
DWORD dwMaxSubKeyLen=0;
if(SHRegQueryInfoUSKey(hKey,&dwSubKeyCount,&dwMaxSubKeyLen,0,0,SHREGENUM_HKCU)==ERROR_SUCCESS){
AppOptions::pSiteInfoArr=new SiteInfo[dwSubKeyCount];
SiteInfo* pSi=NULL;
DWORD szUrlLen=0;
DWORD szDt=REG_SZ;
DWORD szTitleLen=0;
DWORD szUrlExtLen=0;
for(DWORD i=0;i<dwSubKeyCount;i++){
pSi=&AppOptions::pSiteInfoArr[i];
ZeroMemory(pSi,sizeof(SiteInfo));
ZeroMemory(pSi->Url,sizeof(TCHAR)*STRLEN_1K);
szUrlLen=STRLEN_1K;
ZeroMemory(pSi->Title,sizeof(TCHAR)*MAX_PATH);
ZeroMemory(pSi->UrlExt,sizeof(TCHAR)*STRLEN_SMALL);
if(SHRegEnumUSKey(hKey,i,pSi->Url,&szUrlLen,SHREGENUM_HKCU)!=ERROR_SUCCESS) continue;
if(_tcsstr(pSi->Url,L"www.tensosoft.com")!=NULL||_tcsstr(pSi->Url,L"demo.tensosoft.cn")!=NULL) {
ZeroMemory(pSi->Url,sizeof(TCHAR)*STRLEN_1K);
continue;
}
TCHAR szKey[STRLEN_1K]={0};
_stprintf_s(szKey,L"Software\\Discoverx2\\%s",pSi->Url);
szDt=REG_SZ;
szTitleLen=sizeof(TCHAR)*MAX_PATH;
SHRegGetUSValue(szKey,L"title",&szDt,pSi->Title,&szTitleLen,FALSE,NULL,0);
szDt=REG_SZ;
szUrlExtLen=sizeof(TCHAR)*STRLEN_SMALL;
SHRegGetUSValue(szKey,L"ext",&szDt,pSi->UrlExt,&szUrlExtLen,FALSE,NULL,0);
dwValidCount++;
}
if(dwValidCount==1 && AppOptions::pSiteInfoArr) {
for(DWORD i=0;i<dwSubKeyCount;i++){
pSi=&AppOptions::pSiteInfoArr[i];
if(_tcslen(pSi->Url)==0) continue;
_tcscpy_s(AppOptions::szCurrentSiteUrl,pSi->Url);
_tcscpy_s(AppOptions::szCurrentSiteUrlExt,pSi->UrlExt);
}
}else{
TCHAR fn[MAX_PATH]={0};
int len=GetModuleFileName(NULL,fn,MAX_PATH);
if (len>0){
_stprintf_s(AppOptions::szCurrentSiteUrl,L"res://%s/IDH_SELECT_SITES",fn);
_tcscpy_s(AppOptions::szCurrentSiteUrlExt,L".htm");
}
}
}
AppOptions::dwSiteCount=dwSubKeyCount;
SHRegCloseUSKey(hKey);
}
//初始安装标记
if (_tcsstr(cmdLine,L" -i")!=NULL || _tcsstr(cmdLine,L" -I")!=NULL) {
AppOptions* appOpts=AppOptions::GetInstance();
//注册自动运行
RegisterAutoRun(appOpts->AutoRun);
//注册自定义URL处理程序
RegisterProtocol();
return 0; //安装完毕时,直接退出
}
//创建互斥对象
HANDLE hMutex = CreateMutex(NULL, FALSE,_T("{6d71599b-57c1-473e-81be-0c8e0d9f5e18}"));
if (GetLastError() == ERROR_ALREADY_EXISTS){
EnumWindows(searcher,NULL);
return 0;
}
// 初始化COM支持
HRESULT hr = CoInitializeEx(NULL,COINIT_APARTMENTTHREADED);
if (FAILED(hr)) return 0;
// 初始化通用Windows控件
InitCommonControls();
// 装载富文本支持
//HMODULE hRichEdit;
//hRichEdit = LoadLibraryW(L"riched20.dll");
//if (hRichEdit == NULL) return 0;
// 注册所有窗口的窗口类
MainWin::RegisterClass();
InfoNotify::RegisterClass();
ChatWin::RegisterClass();
// 创建主窗口
int cx = GetSystemMetrics(SM_CXSCREEN);
int cy = GetSystemMetrics(SM_CYSCREEN);
AppOptions* appOpts=AppOptions::GetInstance();
int w=(appOpts->MainWinWidth==0?MAINWIN_WIDTH:appOpts->MainWinWidth);
int h=(appOpts->MainWinHeight==0?MAINWIN_HEIGHT:appOpts->MainWinHeight);
HWND hWnd = CreateWindowExW(0,APP_CLASS,APP_TITLE,WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,(cx-w)-8, 50,w, h,NULL,NULL,hInstance,NULL);
MainWin *pmw=(MainWin *)GetWindowLongPtr(hWnd, GWLP_USERDATA);
if ( !hWnd ) return 0;
SetWindowText(hWnd,L"办公小助手");
// 显示主窗口
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
//显示任务栏通知图标
InitTaskbarNotifier(hWnd);
//如果没有设置,则显示设置对话框
//if (!appOpts->Initialized) ShowOptionsDialog(hWnd,_T("选项"));
// 进入消息循环
BOOL bRet;
MSG msg;
while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0){
if (bRet == -1) return 0;
else{
if(msg.message==WM_KEYDOWN||msg.message==WM_KEYUP){
pmw->ProcessKeystrokes(NULL,&msg);
}
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
// 释放富文本控件资源
//FreeLibrary(hRichEdit);
//删除站点信息
SAFE_DEL_ARR(AppOptions::pSiteInfoArr);
// 关闭COM支持
CoUninitialize();
return msg.wParam;
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

腾硕云办公平台(discoverx2)客户端组件(办公小助手、低版本IE可视化流程编辑COM控件等)源码。
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/springjava/vc-client.git
git@gitee.com:springjava/vc-client.git
springjava
vc-client
vc-client
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /