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

📄 trayctl.cpp.svn-base

📁 这是和p2p相关的一份源码
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
						else if (a != 3 && SendMessage(hwnd,WM_USER,0,105) > 2000) // restart						{							SendMessage(hwnd,WM_COMMAND,40045,0);						} else { // prev							SendMessage(hwnd,WM_COMMAND,40044,0);						}					return 0;					case 1:						if ((a=SendMessage(hwnd,WM_USER,0,104)) != 1) // not playing, let's 																  // hit play						{							SendMessage(hwnd,WM_COMMAND,40045,0);						}						else { // prev							SendMessage(hwnd,WM_COMMAND,40046,0);						}					return 0;					case 2:						if (GetKeyState(VK_SHIFT) & (1<<15))							SendMessage(hwnd,WM_COMMAND,40147,0);						else							SendMessage(hwnd,WM_COMMAND,40047,0);					return 0;					case 3:						SendMessage(hwnd,WM_COMMAND,40048,0);					return 0;					case 4:						SetForegroundWindow(hwnd);						if (GetKeyState(VK_CONTROL) & (1<<15))							SendMessage(hwnd,WM_COMMAND,40185,0);						else if (GetKeyState(VK_SHIFT) & (1<<15))							SendMessage(hwnd,WM_COMMAND,40187,0);						else							SendMessage(hwnd,WM_COMMAND,40029,0);					return 0;				}			return 0;#endif		}	}#endif	return CallWindowProc((WNDPROC)lpWndProcOld,hwnd,message,wParam,lParam);}// ---------------------------------------------------------------------------BOOL CALLBACK ChannelsProc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam){	return false;}	// ---------------------------------------------------------------------------int init(){		static char c[512];	char *p;	GetModuleFileName(plugin.hDllInstance,pluginFilename,sizeof(pluginFilename));	p = pluginFilename+lstrlen(pluginFilename);	while (p >= pluginFilename && *p != '\\') p--;	wsprintf((plugin.description=c),"%s (%s)",szAppName,p+1);	strcpy(iniFilename,pluginFilename);	p=iniFilename+lstrlen(iniFilename);	while (p >= iniFilename && *p != '\\') p--;	if (++p >= iniFilename) *p = 0;	lstrcat(iniFilename,"peercast.ini");	peercastInst = new MyPeercastInst();	peercastApp = new MyPeercastApp();	peercastInst->init();	broadcastName[0]=0;	config_read();	if (!numRuns)		config();	showMiniBrowser();	lpWndProcOld = (void *) GetWindowLong(plugin.hwndParent,GWL_WNDPROC);	SetWindowLong(plugin.hwndParent,GWL_WNDPROC,(long)WndProc);	//Icon = LoadIcon(plugin.hDllInstance,MAKEINTRESOURCE(IDI_ICON6));//	systray_add(plugin.hwndParent,0,Icon,"PeerCast");//	static ThreadInfo plsThread;//	plsThread.func = playlistThread;//	sys->startThread(&plsThread);	//config();#if 0	char pfPath[256];	HKEY	hKey;	DWORD dwType, dwSize;	LRESULT lnResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE,_T("\\Software\\Microsoft\\Windows\\CurrentVersion"),0, KEY_READ,&hKey);	if (lnResult == ERROR_SUCCESS)	{		dwType = REG_SZ;		dwSize = sizeof(pfPath);		RegQueryValueEx(hKey, TEXT("ProgramFilesDir"), NULL, &dwType, (PBYTE)&pfPath, &dwSize);		LOG("PATH %s",pfPath);	}else		LOG("PATH not found");#endif	return 0;}// -----------------------------------------------------void setOnAirControls(bool on){	enableControl(IDC_EDIT2,on);	enableControl(IDC_EDIT3,on);	enableControl(IDC_EDIT4,on);	enableControl(IDC_RADIO1,on);	enableControl(IDC_RADIO2,on);	enableControl(IDC_RADIO3,on);}static bool oldOnAir = false;// -----------------------------------------------------BOOL CALLBACK ConfigProc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam){	switch (uMsg)	{		case WM_INITDIALOG:			{				configWin = hwndDlg;				setEditInt(IDC_EDIT1,peercastInst->getServerPort());				setButtonState(IDC_ACTIVE,peercastInst->getActive());				setButtonState(IDC_CHECK2,autoPlaylistUpdate);				setEditStr(IDC_EDIT5,(char *)peercastInst->getServerPassword());				setEditStr(IDC_EDIT2,broadcastName);				setEditStr(IDC_EDIT3,broadcastGenre);				setEditStr(IDC_EDIT4,broadcastURL);				setEditInt(IDC_EDIT6,peercastInst->getMaxOutput());				setButtonState(IDC_CHECK1,showChans);				setButtonState(IDC_CHECK4,broadcastManual);				enableControl(IDC_CHECK3,!broadcastManual);				setButtonState(IDC_CHECK3,onAir);				setOnAirControls((!onAir) && (!broadcastManual));				setButtonState(IDC_RADIO2+broadcastQuality,true);				oldOnAir = onAir;			}			return FALSE;		case WM_COMMAND:			switch (LOWORD(wParam))			{				case IDC_BUTTON1:					peercastInst->callLocalURL("admin?page=settings");					break;				case IDC_SPEED1:					setEditInt(IDC_EDIT6,32);					break;				case IDC_SPEED2:					setEditInt(IDC_EDIT6,128);					break;				case IDC_SPEED3:					setEditInt(IDC_EDIT6,256);					break;				case IDC_SPEED4:					setEditInt(IDC_EDIT6,512);					break;				case IDC_RADIO1:				case IDC_RADIO2:				case IDC_RADIO3:					broadcastQuality = LOWORD(wParam)-IDC_RADIO2;					return false;				case IDC_CHECK4:					broadcastManual = getButtonState(IDC_CHECK4);					enableControl(IDC_CHECK3,!broadcastManual);					setOnAirControls((!onAir) && (!broadcastManual));					return false;				case IDC_CHECK3:					onAir = getButtonState(IDC_CHECK3);					setOnAirControls((!onAir) && (!broadcastManual));					return false;									case IDC_APPLY:				case IDC_OK:					{						int p = getEditInt(IDC_EDIT1);						if (p != peercastInst->getServerPort())							peercastInst->setServerPort(p);					}					peercastInst->setActive(getButtonState(IDC_ACTIVE));					autoPlaylistUpdate = getButtonState(IDC_CHECK2);					peercastInst->setServerPassword(getEditStr(IDC_EDIT5));					peercastInst->setMaxOutput(getEditInt(IDC_EDIT6));					showChans = getButtonState(IDC_CHECK1);					strcpy(broadcastName,getEditStr(IDC_EDIT2));					strcpy(broadcastGenre,getEditStr(IDC_EDIT3));					strcpy(broadcastURL,getEditStr(IDC_EDIT4));					peercastInst->saveSettings();					config_write();					if (onAir != oldOnAir)					{						if (onAir)						{							if (MessageBox(plugin.hwndParent,"To go \"On Air\" WinAmp has to be restarted.\nPlease make sure that the Oddcast DSP is loaded and enabled.\nPress OK to restart.","PeerCast",MB_OKCANCEL)!=IDCANCEL )								SendMessage(plugin.hwndParent,WM_USER, 0, 135); 	// restart						}else{							if (MessageBox(plugin.hwndParent,"To go \"Off Air\" WinAmp has to be restarted. Press OK to restart.","PeerCast",MB_OKCANCEL)!=IDCANCEL )								SendMessage(plugin.hwndParent,WM_USER, 0, 135); 	// restart						}					}					if (LOWORD(wParam)==IDC_OK)					{						showMiniBrowser();						EndDialog(hwndDlg,0);					}					return FALSE;				case IDC_CANCEL:					EndDialog(hwndDlg,0);					return FALSE;			}			break;		case WM_CLOSE:			EndDialog(hwndDlg,0);			return FALSE;	}	return FALSE;}void getIniFile(char *ini_file){	char *p;	strcpy(ini_file,pluginFilename);	p=ini_file+lstrlen(ini_file);	while (p >= ini_file && *p != '\\') p--;	if (++p >= ini_file) *p = 0;	lstrcat(ini_file,"plugin.ini");}void config_read(){		char ini_file[MAX_PATH];	getIniFile(ini_file);	autoPlaylistUpdate = GetPrivateProfileInt(szAppName,"autoPlaylistUpdate",autoPlaylistUpdate?1:0,ini_file)!=0;	broadcastQuality = GetPrivateProfileInt(szAppName,"broadcastQuality",broadcastQuality,ini_file);	onAir = GetPrivateProfileInt(szAppName,"onAir",onAir?1:0,ini_file)!=0;	broadcastManual = GetPrivateProfileInt(szAppName,"broadcastManual",broadcastManual?1:0,ini_file)!=0;	showChans = GetPrivateProfileInt(szAppName,"showChans",showChans?1:0,ini_file)!=0;	numRuns = GetPrivateProfileInt(szAppName,"numRuns",numRuns,ini_file);	GetPrivateProfileString(ODDCAST_DLL,"gServDesc","",broadcastName,sizeof(broadcastName),ini_file);	GetPrivateProfileString(ODDCAST_DLL,"gServGenre","",broadcastGenre,sizeof(broadcastGenre),ini_file);	GetPrivateProfileString(ODDCAST_DLL,"gServURL","",broadcastURL,sizeof(broadcastURL),ini_file);}void config_write(){	char ini_file[MAX_PATH],string[128];	getIniFile(ini_file);	wsprintf(string,"%d",autoPlaylistUpdate);	WritePrivateProfileString(szAppName,"autoPlaylistUpdate",string,ini_file);	wsprintf(string,"%d",broadcastQuality);	WritePrivateProfileString(szAppName,"broadcastQuality",string,ini_file);	wsprintf(string,"%d",onAir);	WritePrivateProfileString(szAppName,"onAir",string,ini_file);	wsprintf(string,"%d",broadcastManual);	WritePrivateProfileString(szAppName,"broadcastManual",string,ini_file);	wsprintf(string,"%d",showChans);	WritePrivateProfileString(szAppName,"showChans",string,ini_file);	wsprintf(string,"%d",numRuns);	WritePrivateProfileString(szAppName,"numRuns",string,ini_file);	if (!broadcastManual)	{				WritePrivateProfileString(ODDCAST_DLL,"gServer","localhost",ini_file);		WritePrivateProfileString(ODDCAST_DLL,"gServDesc",broadcastName,ini_file);		WritePrivateProfileString(ODDCAST_DLL,"gServGenre",broadcastGenre,ini_file);		WritePrivateProfileString(ODDCAST_DLL,"gServURL",broadcastURL,ini_file);		wsprintf(string,"%d",peercastInst->getServerPort());		WritePrivateProfileString(ODDCAST_DLL,"gPort",string,ini_file);		WritePrivateProfileString(ODDCAST_DLL,"gPassword",peercastInst->getServerPassword(),ini_file);		WritePrivateProfileString(ODDCAST_DLL,"gOggFlag","1",ini_file);		WritePrivateProfileString(ODDCAST_DLL,"gLAMEFlag","0",ini_file);		wsprintf(string,"%d",broadcastQuality);				WritePrivateProfileString(ODDCAST_DLL,"gOggQuality",string,ini_file);		WritePrivateProfileString(ODDCAST_DLL,"gOggBitQual","0",ini_file);		WritePrivateProfileString(ODDCAST_DLL,"gShoutcastFlag","FALSE",ini_file);		WritePrivateProfileString(ODDCAST_DLL,"gIcecastFlag","FALSE",ini_file);		WritePrivateProfileString(ODDCAST_DLL,"gIcecast2Flag","TRUE",ini_file);			WritePrivateProfileString(ODDCAST_DLL,"gMountpoint","/oddcast.ogg",ini_file);			WritePrivateProfileString(ODDCAST_DLL,"gAutoStart",onAir?"TRUE":"FALSE",ini_file);		}}__declspec( dllexport ) winampGeneralPurposePlugin * winampGetGeneralPurposePlugin(){	return &plugin;}int getPort(){	int port = DEFAULT_PORT;	HWND hwndWinamp = FindWindow("Winamp v1.x",NULL); 	if (hwndWinamp)		port=SendMessage(hwndWinamp,WM_USER+100,0,0);	return port;}__declspec( dllexport ) playChannel(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow){	WSys *wsys = new WSys(hwnd);	char str[256];	sprintf(str,"pls/%s",lpszCmdLine);	wsys->callLocalURL(str,getPort());}__declspec( dllexport ) callURL(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow){	WSys *wsys = new WSys(hwnd);	if (strncmp(lpszCmdLine,"peercast://",11)==0)		wsys->callLocalURL(lpszCmdLine+11,getPort());	else		wsys->getURL(lpszCmdLine);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -