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

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

?? yabinst.c

?? basic解釋器源代碼 microsoft visual studio 6.0環境下通過
?? 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一区二区三区免费野_久草精品视频
91在线国产福利| 国产精品久久久久久久第一福利| 亚洲精品一区二区精华| 国产精品久久三| 美女视频黄 久久| 91在线观看视频| 国产亚洲va综合人人澡精品| 亚洲成国产人片在线观看| av一本久道久久综合久久鬼色| 欧美一区二区黄色| 亚洲一区二区视频| 成人av在线网站| 久久久久青草大香线综合精品| 日本中文在线一区| 日本高清不卡aⅴ免费网站| 国产蜜臀97一区二区三区| 六月婷婷色综合| 欧美久久高跟鞋激| 一区二区三区免费在线观看| 成人18精品视频| 欧美激情一区二区三区全黄| 韩国v欧美v日本v亚洲v| 欧美一级片在线观看| 香蕉久久一区二区不卡无毒影院 | 国产精品丝袜91| 精品在线播放免费| 日韩手机在线导航| 婷婷亚洲久悠悠色悠在线播放| 91福利国产精品| 亚洲精品视频免费看| 99re亚洲国产精品| 亚洲美女电影在线| 色老汉一区二区三区| 亚洲男人天堂av网| 在线免费观看成人短视频| 亚洲一卡二卡三卡四卡五卡| 欧美伊人久久久久久久久影院| 亚洲精品伦理在线| 91国产视频在线观看| 亚洲二区在线观看| 日韩欧美一二三区| 国产精品综合网| 亚洲欧美综合网| 欧美丝袜丝交足nylons图片| 亚洲成av人片在线观看无码| 欧美人体做爰大胆视频| 久久99精品久久久久久国产越南| 亚洲精品一区二区三区精华液| 欧美色图一区二区三区| 偷拍一区二区三区四区| 精品少妇一区二区三区免费观看| 国产毛片精品国产一区二区三区| 国产精品伦一区二区三级视频| 91在线观看视频| 亚洲va欧美va国产va天堂影院| 91精品国产一区二区三区香蕉| 精品一区二区三区在线播放| 日本一区二区高清| 欧美日韩在线播放一区| 激情图片小说一区| 亚洲男人都懂的| 欧美一级黄色大片| 成人美女在线视频| 五月天激情小说综合| 久久精品亚洲精品国产欧美 | 色欧美片视频在线观看在线视频| 亚洲一区二区欧美激情| 久久亚洲综合色一区二区三区| 99久久亚洲一区二区三区青草| 香蕉久久夜色精品国产使用方法 | 亚洲精品高清在线观看| 欧美tk—视频vk| 99久久综合精品| 麻豆中文一区二区| 亚洲免费在线观看视频| 日韩精品一区二区三区四区 | 91麻豆精品国产91久久久使用方法 | 欧美另类z0zxhd电影| 国产美女久久久久| 亚洲无线码一区二区三区| 久久综合五月天婷婷伊人| 欧洲精品在线观看| 国产iv一区二区三区| 视频在线观看国产精品| 一色桃子久久精品亚洲| 久久午夜电影网| 欧美高清视频一二三区| 91色九色蝌蚪| 国产91丝袜在线播放0| 久久精品国产亚洲高清剧情介绍| 亚洲码国产岛国毛片在线| 2024国产精品| 91精品国产色综合久久不卡蜜臀| 97se亚洲国产综合自在线观| 国产麻豆91精品| 乱一区二区av| 免费观看91视频大全| 一区二区高清视频在线观看| 国产欧美精品一区二区色综合| 91精品国产91久久综合桃花| 在线精品视频免费观看| 99re这里都是精品| av动漫一区二区| 国产成人精品免费看| 国产专区欧美精品| 久久电影国产免费久久电影 | 精品一区二区三区在线观看国产| 亚洲国产乱码最新视频 | 精品制服美女丁香| 奇米一区二区三区av| 日一区二区三区| 午夜欧美在线一二页| 亚洲成人激情社区| 亚洲成人精品一区二区| 午夜影视日本亚洲欧洲精品| 亚洲二区在线观看| 午夜av一区二区| 日韩高清电影一区| 理论片日本一区| 国产一区二区三区蝌蚪| 黑人巨大精品欧美黑白配亚洲| 国产在线精品视频| 国产精品66部| 波多野结衣中文一区| 99精品热视频| 欧美日韩免费在线视频| 欧美一区二区二区| 久久精品日韩一区二区三区| 国产亚洲精品资源在线26u| 久久精品男人天堂av| 国产精品美女www爽爽爽| 亚洲欧美日韩国产综合在线| 亚洲成人av在线电影| 精品中文av资源站在线观看| 国产+成+人+亚洲欧洲自线| 99久久久无码国产精品| 欧美日韩在线播放一区| 精品国产乱码久久久久久浪潮 | 精品国产乱码久久久久久蜜臀| 日本一区二区三区在线观看| 亚洲视频图片小说| 奇米影视一区二区三区| 国产一区二区在线电影| 91小视频在线观看| 7799精品视频| 国产精品国产三级国产aⅴ原创 | 国产曰批免费观看久久久| av在线不卡电影| 91精品蜜臀在线一区尤物| 国产欧美视频一区二区三区| 一区二区三区四区亚洲| 久久精品国产**网站演员| 99久久综合精品| 欧美一级二级三级蜜桃| 最新国产成人在线观看| 免费成人美女在线观看| 91老司机福利 在线| 日韩欧美亚洲国产精品字幕久久久 | 日韩午夜中文字幕| 亚洲欧美综合在线精品| 久久爱另类一区二区小说| 日本韩国一区二区三区视频| 日韩精品一区二区三区中文精品| 亚洲欧洲一区二区三区| 国产一区二区三区美女| 在线不卡中文字幕播放| 日韩理论在线观看| 国产精品一区在线观看你懂的| 欧美性色黄大片| 中文字幕一区二区三区四区不卡 | 亚洲最色的网站| 国产成人免费视频精品含羞草妖精| 欧美在线观看18| 国产精品情趣视频| 国产一区二区三区在线观看精品 | 九九精品一区二区| 欧美久久久久久久久| 亚洲精品一二三四区| 成人午夜私人影院| 国产欧美综合在线| 狠狠色丁香九九婷婷综合五月| 7799精品视频| 丝袜脚交一区二区| 欧美性色黄大片| 亚洲综合久久久| 欧美影院午夜播放| 一片黄亚洲嫩模| 91丨porny丨在线| 亚洲欧美另类久久久精品2019| 成人一区二区视频| 久久一区二区三区四区| 激情都市一区二区| 久久亚洲综合色| 国产精品88888| 久久久精品综合| 成人一区二区视频| 综合色中文字幕| 一本色道久久综合亚洲精品按摩| 18欧美亚洲精品| 欧洲视频一区二区|