亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? yabinst.c

?? 很簡單的編譯器!不過最重要的是思想!
?? C
?? 第 1 頁 / 共 3 頁
字號:
			  sscanf(commandline,"copied %d",&pid);
			  from=OpenProcess(PROCESS_QUERY_INFORMATION | SYNCHRONIZE,FALSE,pid);
			  if (from && WaitForSingleObject(from,10000)==WAIT_TIMEOUT) {
				  MyMessage(NULL,"Couldn't take over",REMOVE_HEADING,MB_STYLE);
				  end(REMOVE_FAILURE);
			  }
			  
			  DeleteFile(app(BASIC_SETUP));     
			  success=RemoveDirectory(installpath);
			  if (!success) {
				  char file[SSLEN];
				  WIN32_FIND_DATA found;
				  HANDLE search;
				  
				  sprintf(file,"%s\\*.*",installpath);
				  search=FindFirstFile(file,&found);
				  FindNextFile(search,&found);
				  if (!FindNextFile(search,&found)) {
					  sprintf(string,"Could not remove directory '%s' !",installpath);
					  MyMessage(NULL,string,REMOVE_HEADING,MB_STYLE);
					  end(REMOVE_FAILURE);}
				  else {
					  int i;
					  int n;
					  char msg[1000];
					  
					  sprintf(msg,"Could not remove directory '%s'.\n"
						  "These files of suspect origin have been found:\n    %s\n%n"
						  ,installpath,found.cFileName,&n);
					  i=n;
					  while(FindNextFile(search,&found)) {
						  sprintf(msg+i,"    %s\n%n",found.cFileName,&n);
						  i+=n;
					  }
					  sprintf(msg+i,"You may remove these files by hand and retry !\n");
					  MyMessage(NULL,msg,REMOVE_HEADING,MB_STYLE);
					  end(REMOVE_FAILURE);}
			  }
		  }
		  
		  /* delete shell links */
		  MyLinks(REMOVE);
		  
		  /* remove entries from the registry */
		  MyRegs(REMOVE);
		  
		  end(REMOVE_SUCCESS);
  } 
  return TRUE;
}


/*------------ subroutines --------------*/

BOOL CALLBACK pathdialog(HWND handle,UINT message,
						 WPARAM wparam,LPARAM lparam)
						 /* callback for choice of installation path */
{
	int cmdid;           /* id of command */
	char buf[SSLEN];       /* buffer for installation-path */
	int offset=0;
	char name[SSLEN];       /* buffer for filename */
	OPENFILENAME fname; /* for common dialog */
	int ret;

	switch(message) {
	case WM_INITDIALOG:
		{ /* center dialog box */
			RECT rc;
			
			GetWindowRect(handle,&rc);
			SetWindowPos(handle,HWND_TOP,
				((GetSystemMetrics(SM_CXSCREEN)-(rc.right-rc.left))/2),
				((GetSystemMetrics(SM_CYSCREEN)-(rc.bottom-rc.top))/2),
				0,0,SWP_NOSIZE|SWP_NOACTIVATE|SWP_SHOWWINDOW);
		}
		SetDlgItemText(handle,IDINSTPATH,installpath);
		return TRUE;
		
	case WM_COMMAND:
		cmdid=LOWORD(wparam);
		switch(cmdid) {
		case IDOK:
			logit("--Pathdialog: OK\n");
			EndDialog(handle,TRUE);
			GetDlgItemText(handle,IDINSTPATH,buf,SSLEN);
			installpath=strdup(buf);
			return TRUE;
		case IDCANCEL:
			logit("--Pathdialog: CANCEL\n");
			EndDialog(handle,FALSE);
			return TRUE;
		case IDC_BROWSE:
			fname.lStructSize=sizeof(fname);
			fname.hwndOwner=handle;
			fname.hInstance=this_instance;
			fname.lpstrFilter="None\0+.+++\0\0";
			fname.lpstrCustomFilter=NULL; 
			fname.nMaxCustFilter=0;    
			fname.nFilterIndex=0; 
			fname.nMaxFile=SSLEN;
			fname.lpstrFileTitle=NULL;
			fname.nMaxFileTitle=0;
			offset=0;
			GetDlgItemText(handle,IDINSTPATH,buf,SSLEN);
			ret=GetFileAttributes(buf);
			if (ret==0xFFFFFFFF || !(ret & FILE_ATTRIBUTE_DIRECTORY)) {
				GetLogicalDriveStrings(SSLEN,buf);
				offset=strlen(buf)+1;
			}
			fname.lpstrInitialDir=buf+offset;
			strcpy(name,"dummy");
			fname.lpstrFile=name;
			fname.lpstrTitle="Select yabasic's directory"; 
			fname.Flags=OFN_HIDEREADONLY | OFN_EXPLORER | 
				OFN_ENABLEHOOK | OFN_ENABLETEMPLATE | OFN_NOVALIDATE;
			fname.lpstrDefExt=NULL; 
			fname.lCustData=0;
			fname.lpfnHook=HookProc; 
			fname.lpTemplateName=MAKEINTRESOURCE(IDD_EXPLANATION);
			if (GetOpenFileName(&fname)) {
				name[fname.nFileOffset]='\0';
				SetDlgItemText(handle,IDINSTPATH,name);
			}
			return TRUE;
		default:
			break;
		}
		default:
			break;
	}
	return FALSE;
}


UINT CALLBACK HookProc(HWND hdl,UINT msg,WPARAM wparam,LPARAM lparam) /* hook for save as */
{
	if (msg==WM_INITDIALOG) {
		RECT rc;
		/* center dialog box */
		GetWindowRect(GetParent(hdl),&rc);
		SetWindowPos(GetParent(hdl),HWND_TOP,
			((GetSystemMetrics(SM_CXSCREEN)-(rc.right-rc.left))/2),
			((GetSystemMetrics(SM_CYSCREEN)-(rc.bottom-rc.top))/2),
			0,0,SWP_NOSIZE|SWP_NOACTIVATE|SWP_SHOWWINDOW);
		CommDlg_OpenSave_HideControl(GetParent(hdl),cmb1);
		CommDlg_OpenSave_HideControl(GetParent(hdl),edt1);
		CommDlg_OpenSave_SetControlText(GetParent(hdl),IDOK,"Okay");
		CommDlg_OpenSave_SetControlText(GetParent(hdl),IDCANCEL,"Cancel");
		CommDlg_OpenSave_SetControlText(GetParent(hdl),stc4,"Install in: ");
		CommDlg_OpenSave_HideControl(GetParent(hdl),stc3);
		CommDlg_OpenSave_HideControl(GetParent(hdl),stc2);
		return FALSE;
	}		
	return FALSE;
}


int delreg(HKEY start,char *keyname,char *subkey) 
/* 
delete keys from Registry
start   : one of the predefined key (e.g. HKEY_CLASSES_ROOT)
keyname : path to the key to delete
subkey  : subkey to delete 
*/
{
	HKEY key;
	
	if (RegOpenKeyEx(start,keyname,0,KEY_ALL_ACCESS,&key)!=ERROR_SUCCESS) 
		return FALSE;
	
	if (RegDeleteKey(key,subkey)!=ERROR_SUCCESS) return FALSE;
	
	return TRUE;
}


char *getreg(char *name) /* get keys from Registry */
{
	char *keyname="SOFTWARE\\"BASIC_NAME;
	HKEY key;
	char value[SSLEN];
	DWORD n;
	
	if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,keyname,0,
		KEY_ALL_ACCESS,&key)!=ERROR_SUCCESS) return NULL;
	n=SSLEN;
	value[0]='\0';
	if (RegQueryValueEx(key,name,NULL,
		      NULL,value,&n)!=ERROR_SUCCESS) return NULL;
	value[n]='\0';
	
	return strdup(value);
}


int putreg(HKEY start,char *keyname,char *name,char *content) 
/* 
put keys into Registry 
start   : one of the predefined key (e.g. HKEY_CLASSES_ROOT)
keyname : path to the key to create
name    : subkey to create
content : it's content
*/

{
	HKEY key;
	DWORD status;
	
	RegCreateKeyEx(start,keyname,0,"",
		0,KEY_ALL_ACCESS,NULL,&key,&status);
	if (RegSetValueEx(key,name,0,REG_SZ,
		content,strlen(content)+1)!=ERROR_SUCCESS) {
		return FALSE;
	}
	return TRUE;
}


void end(int m) { /* display message and terminate */
	char *msg;
	int ret;
	
	switch(m) {
	case INSTALL_CANCELLED:
		msg="Okay, installation cancelled.\n"
			"No garbage has been left.";
		ret=FALSE;
		break;
	case INSTALL_FAILURE:
		msg="Installation failed.\n"
			"Some garbage has been left in the system.\n"
			"To clear up, you better remove "BASIC_NAME".";
		ret=FALSE;
		break;
	case INSTALL_ABORTED:
		msg="Installation aborted.\n"
			"Some garbage has been left in the system !\n"
			"To clear up, you better remove "BASIC_NAME".";
		ret=FALSE;
		break;
	case INSTALL_SUCCESS:
		msg="Installation completed successfully !\n"
			"You may now start writing basic-programs.";
		ret=TRUE;
		break;
	case REMOVE_SUCCESS:
		msg=BASIC_NAME" has been removed properly !";
		ret=TRUE;
		break;
	case REMOVE_CANCELLED:
		msg="Cancelled. "BASIC_NAME" has been left intact.";
		ret=FALSE;
		break;
	case REMOVE_FAILURE:
		msg="Couldn't remove "BASIC_NAME" properly !";
		ret=FALSE;
		break;
	case SILENT:
		ret=TRUE;
		goto silent;
	default:
		break;
	}
	MyMessage(NULL,msg,INSTALL_HEADING,MB_STYLE);
	
silent:
	
	/* close log-file */
	logit(NULL); 
	exit(ret);
	
	return;
}


char *app(char *trail) /* append trail to installpath */
{
	char *result;
	int i,t;
	
	i=strlen(installpath);
	t=strlen(trail);
	
	result=malloc(i+t+1);
	memcpy(result,installpath,i);
	memcpy(result+i,trail,t);
	result[t+i]='\0';
	
	return result;
}


HRESULT CreateShellLink(LINKINFO *li,char *path)
/* 
stolen from win32 SDK Help: Create a shell-link 
li    : points to LINKINFO structure containing all infos about link 
path  : Full pathname for objects
*/
{ 
	HRESULT hres;                /* return value */
	IShellLink* psl;             /* pointer to new shell-link */
	LPITEMIDLIST pidl;           /* path id */
	char PathLink[MAX_PATH];     /* path name */
	char string[SSLEN];          /* multi-purpose string */
	static int first=TRUE;
	
	/* make filename from registry folder constant */
	hres=SHGetSpecialFolderLocation(NULL,li->folder,&pidl);
	if (!SUCCEEDED(hres)) return hres;
	SHGetPathFromIDList(pidl,PathLink);
	strcat(PathLink,"\\");
	strcat(PathLink,li->link);
	
	/* initialize COM-library */
	if (first) {
		CoInitialize(NULL);
		first=FALSE;
	}
	
	/* Get a pointer to the IShellLink interface. */
	hres=CoCreateInstance(&CLSID_ShellLink,NULL, 
		CLSCTX_INPROC_SERVER,&IID_IShellLink,&psl); 
	if (SUCCEEDED(hres)) { 
		IPersistFile* ppf; 
		
		/* Set the path to the shortcut target */
		sprintf(string,"%s%s",path,li->file);
		psl->lpVtbl->SetPath(psl,string); 
		
		/* add description */
		psl->lpVtbl->SetDescription(psl,li->desc); 
		
		/* set working directory */
		psl->lpVtbl->SetWorkingDirectory(psl,path);
		
		/* set icon */
		if (li->icon[1]) {
			sprintf(string,"%s%s",path,li->icon);
			psl->lpVtbl->SetIconLocation(psl,string,0);
		} else {
			GetSystemDirectory(string,SSLEN);
			strcat(string,"\\shell32.dll");
			psl->lpVtbl->SetIconLocation(psl,string,li->icon[0]);
		}
		
		/* Query IShellLink for the IPersistFile interface for saving the 
		shortcut in persistent storage. */
		hres=psl->lpVtbl->QueryInterface(psl,&IID_IPersistFile,&ppf); 
		
		if (SUCCEEDED(hres)) { 
			WORD wsz[MAX_PATH]; 
			
			/* Ensure that the string is ANSI. */
			MultiByteToWideChar(CP_ACP,0,PathLink,-1,wsz,MAX_PATH); 
			
			/* Save the link by calling IPersistFile::Save. */
			hres=ppf->lpVtbl->Save(ppf,wsz,TRUE);
			ppf->lpVtbl->Release(ppf); 
		} 
		psl->lpVtbl->Release(psl); 
	} 
	return hres; 
} 


HRESULT DeleteShellLink(LINKINFO *li)
/* 
Delete a shell-link 
li    : points to LINKINFO structure containing all infos about link 
*/
{ 
	HRESULT hres;                /* return value */
	LPITEMIDLIST pidl;           /* path id */
	char PathLink[MAX_PATH];     /* path name */
	
	/* make filename from folder constant */
	hres=SHGetSpecialFolderLocation(NULL,li->folder,&pidl);
	if (!SUCCEEDED(hres)) return hres;
	SHGetPathFromIDList(pidl,PathLink);
	strcat(PathLink,"\\");
	strcat(PathLink,li->link);
	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕乱码日本亚洲一区二区 | 精品久久国产老人久久综合| 国产主播一区二区三区| 亚洲狼人国产精品| 精品国产乱码久久久久久牛牛| 丰满少妇久久久久久久| 亚洲123区在线观看| 中文字幕中文字幕在线一区 | 99re66热这里只有精品3直播| 日韩一区精品字幕| 国产亚洲一区二区三区| 欧美亚洲国产一区二区三区va| 久久免费视频色| 国产一区二区三区综合| 国产午夜精品理论片a级大结局| 亚洲美女免费视频| 亚洲第一会所有码转帖| 欧美在线看片a免费观看| 福利一区在线观看| 久久国产成人午夜av影院| 一区二区三区成人| 亚洲欧洲性图库| 国产视频一区在线播放| 日韩欧美一区二区不卡| 欧美日韩一区二区三区不卡| thepron国产精品| 国产福利精品一区二区| 精品制服美女久久| 蜜桃91丨九色丨蝌蚪91桃色| 午夜精品久久久久久久| 一区二区三区国产精品| 亚洲美女视频一区| 综合分类小说区另类春色亚洲小说欧美| 精品久久久三级丝袜| 日韩小视频在线观看专区| 欧美区在线观看| 精品视频一区 二区 三区| 欧洲在线/亚洲| 欧洲一区在线观看| 欧美亚洲丝袜传媒另类| 在线视频亚洲一区| 欧美丝袜自拍制服另类| 欧美日韩极品在线观看一区| 欧美日韩亚洲综合一区| 欧美日韩国产一级| 69p69国产精品| 日韩写真欧美这视频| 精品国产一区二区三区四区四| 欧美一区永久视频免费观看| 91精品国产91热久久久做人人| 日韩欧美一区二区三区在线| 欧美大度的电影原声| 精品国产区一区| 国产无人区一区二区三区| 亚洲国产精品黑人久久久| 国产精品理论片| 亚洲激情一二三区| 午夜国产精品一区| 久久精品免费观看| 国产精品1区二区.| av在线不卡观看免费观看| 一本大道久久精品懂色aⅴ| 欧美伊人久久久久久久久影院 | 免费看日韩a级影片| 久久久噜噜噜久久中文字幕色伊伊| 欧美日韩一区二区在线观看 | 色婷婷久久99综合精品jk白丝| 狠狠色丁香婷婷综合| 蓝色福利精品导航| 日本中文字幕一区| 久久一区二区视频| 久久先锋资源网| 日韩欧美一二区| 99久久精品情趣| 91久久精品日日躁夜夜躁欧美| 暴力调教一区二区三区| 国产精品996| 成人免费视频网站在线观看| 国产一区二区三区黄视频 | 91在线视频18| 91麻豆swag| 欧美日韩不卡视频| 久久免费视频一区| 国产精品电影院| 亚洲h动漫在线| 日本中文字幕一区二区视频| 国产综合成人久久大片91| 国产精品911| 欧美日韩一区二区三区视频| 日韩欧美激情一区| 秋霞电影一区二区| 国产精品1024| 欧美日韩在线播放一区| 欧美精品一区二区三区一线天视频| 欧美日韩视频第一区| 欧美日免费三级在线| 欧美专区亚洲专区| 久久精品夜夜夜夜久久| 亚洲精品五月天| 91精品婷婷国产综合久久性色| 国产成人精品aa毛片| 国产精品日日摸夜夜摸av| 一区二区久久久久久| 久草这里只有精品视频| 91黄色在线观看| 久久久不卡影院| 日韩国产精品久久| 色婷婷av一区二区三区大白胸| 精品国产乱码91久久久久久网站| 一级做a爱片久久| 秋霞午夜av一区二区三区| 99久久综合国产精品| 国产亚洲综合色| 久久99精品久久久久久| 99v久久综合狠狠综合久久| 久久久久免费观看| 精品在线亚洲视频| 欧美精品一级二级三级| 亚洲精品高清视频在线观看| 国产91精品久久久久久久网曝门 | 欧美精品三级在线观看| 亚洲人成网站在线| 色综合久久综合网欧美综合网| 日本一区二区三区四区在线视频 | 蜜臀av一级做a爰片久久| 91天堂素人约啪| 亚洲一二三区视频在线观看| 一区二区三区四区高清精品免费观看 | 日韩av在线发布| 欧美一区二区三区在线| 色婷婷综合久色| 亚洲同性gay激情无套| 日韩影院精彩在线| 欧美理论片在线| 激情伊人五月天久久综合| 久久久.com| 久久一区二区三区国产精品| 国产精品成人免费| 欧美激情一区二区三区| 亚洲日本va在线观看| 成人av在线播放网址| 欧美国产日产图区| av在线播放一区二区三区| 中文字幕日韩一区| 91麻豆国产在线观看| 亚洲伦在线观看| 色综合久久久网| 一区二区视频在线| 久久九九99视频| 在线免费观看视频一区| 国产成人高清在线| 亚洲第一激情av| 最近日韩中文字幕| 日韩午夜在线影院| 91尤物视频在线观看| 午夜欧美电影在线观看| 国产清纯美女被跳蛋高潮一区二区久久w | 欧美日韩高清一区二区三区| 免费观看成人av| 亚洲免费资源在线播放| 国产日本欧美一区二区| 51精品久久久久久久蜜臀| av一区二区久久| 国产成人av电影在线播放| 日本在线播放一区二区三区| 中文字幕中文乱码欧美一区二区| 精品免费视频.| 欧美另类变人与禽xxxxx| 欧美日韩中文字幕一区| 色又黄又爽网站www久久| 欧美日韩精品电影| 91成人免费电影| 这里是久久伊人| 欧美一区二区三区在线观看视频| 国产成人久久精品77777最新版本| 亚洲人精品午夜| 一区二区三区在线视频播放| 国产精品美女久久久久av爽李琼| 亚洲精品v日韩精品| 欧美乱妇15p| 日韩不卡一区二区| 亚洲bt欧美bt精品777| 91麻豆精品国产自产在线 | 精品久久久久av影院| www.欧美亚洲| 奇米888四色在线精品| 国产精品国产三级国产有无不卡| 欧美午夜理伦三级在线观看| 日韩国产精品大片| 一本久久a久久免费精品不卡| 91丨九色丨尤物| 欧美人动与zoxxxx乱| 国产婷婷一区二区| 亚洲五月六月丁香激情| 日韩和的一区二区| 黄色精品一二区| 在线免费av一区| 久久这里只有精品视频网| 亚洲人123区| 精品一区二区日韩|