⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sharewareluncher.c

📁 执行和去除共享软件日期限制的程序
💻 C
📖 第 1 页 / 共 3 页
字号:
            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 + -