📄 sharewareluncher.c
字号:
ShowWindow(hWnd,SW_SHOWMINIMIZED);//SW_HIDE); SetWindowPos(hWnd, HWND_TOP, 0, 0, 265, 240, SWP_NOMOVE | SWP_NOSIZE | SWP_HIDEWINDOW) ; SuspendThread(hTimeSecWnd); } else { bMined=FALSE; ResumeThread(hTimeSecWnd); } break; case WM_LBUTTONDOWN: if(HIWORD(lParam)<25) { if(LOWORD(lParam)<25) { RECT rc; GetWindowRect(hWnd,&rc); TrackPopupMenuEx(hmenuTrackPopup, TPM_LEFTALIGN | TPM_TOPALIGN | // default values
TPM_HORIZONTAL | TPM_LEFTBUTTON | // equivalent to 0
TPM_RIGHTBUTTON, // Right selection
rc.left, rc.top+25,
hWnd,
NULL); break; } i=JudgePoint(lParam,2,bsSys); switch(i) { case -1: EasyMove(hWnd); break; case 0: ShowPush(hWnd,hbmSysButton,0,bsSys[i]); bHold=TRUE; bInTarget=TRUE; iSysNo=0; break; case 1: ShowPush(hWnd,hbmSysButton,0,bsSys[i]); bHold=TRUE; bInTarget=TRUE; iSysNo=1; break; } } if(HIWORD(lParam)>208) { if(InReady) break; i=JudgePoint(lParam,3,bsAct); switch(i) { case -1: break; case 0: ShowPush(hWnd,hbmAct,0,bsActPushed[0]); bHoldInAct=TRUE; bInAct=TRUE; iActNo=0; break; case 1: ShowPush(hWnd,hbmAct,0,bsActPushed[1]); bHoldInAct=TRUE; bInAct=TRUE; iActNo=1; break; case 2: ShowPush(hWnd,hbmAct,0,bsActPushed[2]); bHoldInAct=TRUE; bInAct=TRUE; iActNo=2; break; } } break; case WM_MOUSEMOVE: if(!bHold && !bHoldInAct) { i=JudgePoint(lParam,3,bsAct); if(i!=nActNo && InReady && i!=-1) { ShowPush(hWnd,hbmAct,0,bsAct[i]); InReady=FALSE; nActNo=i; } else if(i!=nActNo) { ShowPush(hWnd,hbmMain,0,bsActOrg[nActNo]); if(i!=-1) { ShowPush(hWnd,hbmAct,0,bsAct[i]); InReady=FALSE; } else InReady=TRUE; nActNo=i; } break; } if(bHoldInAct) { i=JudgePoint(lParam,3,bsAct); if(i!=iActNo && bInAct) { ShowPush(hWnd,hbmMain,0,bsActOrg[iActNo]); bInAct=FALSE; } else if(i==iActNo) { ShowPush(hWnd,hbmAct,0,bsActPushed[i]); bInAct=TRUE; } } if(bHold) { i=JudgePoint(lParam,2,bsSys); if(i!=iSysNo && bInTarget) { ShowPush(hWnd,hbmMain,0,bsSysOrg[iSysNo]); bInTarget=FALSE; } else if(i==iSysNo) { ShowPush(hWnd,hbmSysButton,0,bsSys[i]); bInTarget=TRUE; } } break; case WM_LBUTTONUP: if(HIWORD(lParam)>208) { i=JudgePoint(lParam,3,bsAct); if(i!=-1 && bInAct) { switch(i) { case 0: ShowPush(hWnd,hbmAct,0,bsAct[0]); ShowWindow(hWnd,SW_MINIMIZE); break; case 1: ShowPush(hWnd,hbmAct,0,bsAct[1]); CreatePropertySheet(hWnd); break; case 2: ShowPush(hWnd,hbmAct,0,bsAct[2]); nDlgflag=-99; bHelp=TRUE; DialogBox(hInst,MAKEINTRESOURCE(IDD_SHOWHELP),hWnd,(DLGPROC)DlgHelpProc); break; } } } else if(HIWORD(lParam)<25) { i=JudgePoint(lParam,2,bsSys); if(i!=-1 && bInTarget) { switch(i) { case 0: ShowPush(hWnd,hbmMain,0,bsSysOrg[i]); ShowWindow(hWnd,SW_MINIMIZE); break; case 1: ShowPush(hWnd,hbmMain,0,bsSysOrg[i]); ShowWindow(hWnd,SW_MINIMIZE); break; } } } bHoldInAct=bInAct=bHold=bInTarget=FALSE;; iActNo=iSysNo=-1; break; case WM_RBUTTONDOWN: if(HIWORD(lParam)>24 && JudgePoint(lParam,3,bsAct)==-1) { POINT pt;
GetCursorPos(&pt);
TrackPopupMenuEx(hmenuTrackPopup,
TPM_LEFTALIGN | TPM_TOPALIGN | // default values
TPM_HORIZONTAL | TPM_LEFTBUTTON | // equivalent to 0
TPM_RIGHTBUTTON, // Right selection
pt.x, pt.y,
hWnd,
NULL); } break ; case WM_COMMAND: switch(wParam) { case CM_SETCLOCK: RunControlPanel("timedate.cpl"); break; case CM_ADD: if(!bDlgRuned && !bSheet) DialogBox(hInst,MAKEINTRESOURCE(IDD_LIST),hWnd,(DLGPROC)ListWndProc); else if(bSheet) { PropSheet_SetCurSel(hSheetWnd,NULL,1); } break; case CM_QUIT: if(hQuitWnd==NULL) if(DialogBox(hInst,MAKEINTRESOURCE(IDD_QUIT),hWnd,(DLGPROC)QuitProc)) SendMessage(hWnd,WM_DESTROY,0,0); break; default: if((int)wParam<11000 && (int)wParam>11050) break; if(!Lunch(hWnd,(int)wParam-11000)) { wsprintf(szErrr,"不能启动\"%s\"程序,请检查程序设置",aiAppInfo[(int)wParam-11000].szAppName); Errmsg(szErrr); } break; } break; case WM_TIMER: DoTimer(hWnd,(UINT)wParam); break; case WM_DESTROY: case WM_QUERYENDSESSION: if(hBaseWnd!=NULL) SendMessage(hBaseWnd,WM_CLOSE,0,0); DdeNameService(idInst,hszAppName,0,DNS_UNREGISTER); DdeUninitialize(idInst); DelTempTimer(); bQuit=TRUE; DelFromTaskBar(hWnd,0,"共享软件程序发射器"); DeleteObject(hbmAct); DeleteObject(hbmClock); DeleteObject(hbmMain); DeleteObject(hbmSysButton); DeleteObject(hbmBkg); { int n; for(n=0;n<3;n++) DeleteObject(hbmHHour[i]); for(n=0;n<10;n++) { DeleteObject(hbmLHour[i]); DeleteObject(hbmLMin[i]); DeleteObject(hbmLSec[i]); } for(n=0;n<6;n++) { DeleteObject(hbmHMin[i]); DeleteObject(hbmHSec[i]); } DeleteObject(hbmClockBkg); for(n=0;n<nAppNum;n++) DestroyIcon(hicon[n]); } DestroyMenu(hmenu); PostQuitMessage(0); default: return (DefWindowProc(hWnd,uMsg,wParam,lParam)); } return 0L;}BOOL InFloppyDisk(int a){ LPTSTR CmdLine1;
char aa[5];
CmdLine1=GetCommandLine();
if((CmdLine1[1]=='a' || CmdLine1[1]=='A' || CmdLine1[1]=='b' || CmdLine1[1]=='B') && CmdLine1[2]==':')
{
if(a==0)
MessageBox(GetFocus(),"你正在软盘上运行程序,请先拷贝到硬盘上再执行,\n\
否则程序在下次Windows启动时不能自动执行,闹钟功能无法使用。",
"警告",MB_OK | MB_ICONWARNING);
return TRUE;
}
aa[0]=CmdLine1[1];aa[1]=CmdLine1[2];aa[2]=CmdLine1[3];aa[3]='\0';//CmdLine[1];
if(GetDriveType(aa)==DRIVE_CDROM)
{
if(a==0)
MessageBox(GetFocus(),"你正在光盘上运行程序,请先拷贝到硬盘上再执行,\n\
否则程序在下次Windows启动时不能自动执行,闹钟功能无法使用。",
"警告",MB_OK | MB_ICONWARNING);
return TRUE;
}
return FALSE;
}#pragma argsusedHDDEDATA CALLBACK DdeCallBack(UINT uType,UINT uFmt,HCONV hConv,HSZ hsz1,HSZ hsz2,HDDEDATA hData,DWORD dwData1,DWORD dwData2){ LPBYTE pData; DWORD dwLength; switch(uType) { case XTYP_CONNECT: return (HDDEDATA)TRUE;//break; case XTYP_EXECUTE: pData=DdeAccessData(hData,&dwLength); if(strcmp((LPSTR)pData,"Restore")==0) { ShowWindow(hMainWnd,SW_RESTORE); SetForegroundWindow(hMainWnd); } else if(strcmp((LPSTR)pData,"Uninstall")==0) { PostMessage(hMainWnd,WM_DESTROY,0,0); return (HDDEDATA)TRUE;//break; } else if(strcmp((LPSTR)pData,"\0")==0) break; else PostMessage(hMainWnd,MYWM_EXEACT,0,(LPARAM)pData);//ExeAction((LPSTR)pData); return (HDDEDATA)0; } return (HDDEDATA)0;}void ExeAction(LPSTR s){ int i; if(s[0]=='-' && s[1]=='a' && s[2]=='d' && s[3]=='d') { POINT pt;
i=0; GetCursorPos(&pt); while(s[i+5]!='\0') { szRunCommand[i]=s[i+5]; i++; } szRunCommand[i]='\0'; if(Runit(TRUE)!=-1) return; bAddExe=TRUE; if(!bDlgRuned && !bSheet) SendMessage(hMainWnd,WM_COMMAND,CM_ADD,0); else { PropSheet_SetCurSel(hSheetWnd,NULL,1); SetWindowPos(hListAppWnd,HWND_TOPMOST,pt.x,pt.y,0,0,SWP_NOSIZE); if(hAddWnd==NULL) SendMessage(hListAppWnd,WM_COMMAND,(WPARAM)IDOK,0); else SendMessage(hListAppWnd,MYWM_TIMEUP,0,0); //MYWM_TIMEUP 为临时借用 } } else if(s[0]=='-' && s[1]=='c' && s[2]=='r' && s[3]=='e' && s[4]=='a' && s[5]=='t' && s[6]=='e') { i=0; while(s[i+8]!='\0') { szRunCommand[i]=s[i+8]; i++; } szRunCommand[i]='\0'; bCreateLink=TRUE; MakeShortcut(); } else if(s[0]=='-' && s[1]=='v' && s[2]=='r' && s[3]=='h' && s[4]=='d') { i=0; while(s[i+6]!='\0') { szRunCommand[i]=s[i+6]; i++; } szRunCommand[i]='\0'; VRHD(); } else if(s[0]=='-' && s[1]=='n' && s[2]=='o' && s[3]=='v' && s[4]=='r' && s[5]=='h' && s[6]=='d') { CancelSubst(); } else if(s[0]=='-' && s[1]=='r' && s[2]=='u' && s[3]=='n') { i=0; while(s[i+5]!='\0') { szRunCommand[i]=s[i+5]; i++; } szRunCommand[i]='\0'; Runit(TRUE); } else { wsprintf(szRunCommand,s); SendToHD(); }}BOOL VRHD(void){ STARTUPINFO si; BOOL flag;
PROCESS_INFORMATION PInfo;
char szCommandLine[400];
char szShortPath[MAX_PATH];
if(GetDriveType("a:")!=DRIVE_REMOVABLE)
{
wsprintf(szCommandLine,"subst a: /d");
memset(&si, 0, sizeof(si));
si.cb = sizeof(si);
si.dwFlags=STARTF_USESHOWWINDOW;
si.wShowWindow=SW_HIDE;
CreateProcess(
0, // lpszImageName
szCommandLine, //SzCmdLine,
0, // lpsaProcess
0, // lpsaThread
FALSE, // fInheritHandles
CREATE_DEFAULT_ERROR_MODE,//DEBUG_ONLY_THIS_PROCESS, // fdwCreate
0, // lpvEnvironment
NULL, // lpszCurDir
&si,//tartupInfo, // lpsiStartupInfo
&PInfo // lppiProcInfo
);
}
GetShortPathName(szRunCommand,szShortPath,MAX_PATH);
wsprintf(szCommandLine,"subst a: %s",szShortPath);
memset(&si, 0, sizeof(si));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -