示例#1
0
void quitModule(HINSTANCE hInstance)
{
	RemoveBangCommand("!LabelCreate");
	RemoveBangCommand("!LabelDebug");
	RemoveBangCommand("!LabelLsBoxHook");

	for(LabelListIterator it = labelList.begin(); it != labelList.end(); it++)
		delete *it;

	labelList.clear();
	
	SendMessage(GetLitestepWnd(),
		LM_UNREGISTERMESSAGE,
		(WPARAM) messageHandler,
		(LPARAM) lsMessages);

	DestroyWindow(messageHandler);

	UnregisterClass("LabelLS", hInstance);
	UnregisterClass("LabelMessageHandlerLS", hInstance);

	delete systemInfo;
	delete defaultSettings;

	hbmDesktop = (HBITMAP) SelectObject(hdcDesktop, hbmDesktop);
	DeleteDC(hdcDesktop);
	DeleteObject(hbmDesktop);
}
示例#2
0
void LSUtils::RemoveBangs(const Bang banglist[], const int nrofbangs)
{
	if (banglist == NULL)
		return;

	for (int i = 0; i < nrofbangs; i++)
		RemoveBangCommand(banglist[i].bangName);
}
示例#3
0
// Litestep calls this function before it unloads the module. This function
// should unregister bang commands and destroy windows.
void quitModule(HINSTANCE hInstance)
{   
	//Unregister messages to Litestep
	SendMessage(hwndParent, LM_UNREGISTERMESSAGE, (WPARAM)hwndMain, (LPARAM)msgs);

	// Destroy message window
	DestroyWindow(hwndMain);
	UnregisterClass(szAppName, hInstance);

	// Unregister bang commands
	RemoveBangCommand("!AcidMailCheckMail");
    RemoveBangCommand("!AcidMailClearNew");

	// Destroy main class instance
	delete acidmail;
	acidmail = NULL;
	
	// Deactivate winsock
	WSACleanup();
}
示例#4
0
void LSUtils::PrefixedRemoveBangs(LPCTSTR prefix, const Bang banglist[], const int nrofbangs)
{
	if (banglist == NULL)
		return;

	LPTSTR szTemp;
	LPTSTR bangPrefix;
	bool prefixed = false;

	if ( _tcsncmp(prefix, TEXT("!"), 1 ) != 0)
	{
		AppendSetting(TEXT("!"), prefix, bangPrefix);
		prefixed = true;
	}

	for (int i = 0; i < nrofbangs; i++)
	{
		AppendSetting(bangPrefix, banglist[i].bangName, szTemp);
		RemoveBangCommand(szTemp);
		delete [] szTemp;
	}
	if (prefixed)
		delete [] bangPrefix;
}
示例#5
0
extern "C" void __cdecl quitModule(HINSTANCE dllInst)
{
	RemoveBangCommand("!LSActiveDesktopNavigate");
	RemoveBangCommand("!LSActiveDesktopRunJSFunction");
	RemoveBangCommand("!LSActiveDesktopBack");
	RemoveBangCommand("!LSActiveDesktopForward");
	RemoveBangCommand("!LSActiveDesktopRefresh");
	RemoveBangCommand("!LSActiveDesktopRefreshCache");

	UINT msgs[] = {LM_GETREVID, LM_REFRESH, 0};
	SendMessage(GetLitestepWnd(), LM_UNREGISTERMESSAGE, (WPARAM)hMain, (LPARAM)msgs);

	delete lsad;

	if (hMain != NULL)
	{
		DestroyWindow(hMain);
		hMain = NULL;
	}

	UnregisterClass(className, dllInst);
}