1. 强制使用IE。
private void EnsureBrowser() ... { //ToDo:Check browser header const string TOKEN = "MSIE"; string agent = Request.Headers["User-Agent"]; if (agent.IndexOf(TOKEN) == -1) ...{ ServerMessageHelper.Show(GetPublicResourceString("ErrorNoPermission")); }}
以上方法不能区分IE与MyIE
this .EnsureBrowser = function () ... { if(mainGuarder != null) ...{ var browserName = ""; browserName = mainGuarder.GetProcessName(); if (mainGuarder.GetProcessName().toLowerCase() != "iexplore.exe")...{ location.href("ErrorPage.aspx"); return false; } } return true;}
2. 关闭当前窗口且不提示的方法:
<object id="WebBrowser" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" ></object>
window.document.all.WebBrowser.ExecWB(45,1)
3. 确保全屏
// 确保当前是全屏窗口 this .EnsureFullScreen = function () ... { if (document.readyState == "complete") ...{ var scrollWidth = 30; var scrollHeight = 30; if ((parseInt(document.body.clientHeight) + scrollHeight) < parseInt(screen.height))...{ location.href("startup.aspx"); return false; } if ((parseInt(document.body.clientWidth) + scrollWidth) < parseInt(screen.width))...{ location.href("startup.aspx"); return false; } } return true;}
4. 给表格加格线的方法
rules="all" border="1" bordercolor="#555555" style="border-style: Solid;border-collapse: collapse;"
5. 实现弹出对话框又不影响脚本继续执行,用
// 开启打印等待窗口 function PrintWaiting(){ subWin = ShowDialog( " PrintWaiting.htm " , " 328px " , " 160px " , "" , true , true ); }
6. 最小化窗口API
/* 最小化当前窗口 */ STDMETHODIMP DefendCenter::MinimizeWin(){ HWND hWnd = GetActiveWindow(); SendMessage(hWnd,WM_SYSCOMMAND,SC_MINIMIZE, 0 ); // GetTcpTable return S_OK;}
7. 键盘鼠标钩子
// Set KeyboardHook LRESULT CALLBACK MLowLevelKeyboardProc( int nCode, WPARAM wParam, LPARAM lParam) { BOOL fEatKeystroke = FALSE; fEatKeystroke = TRUE; // 屏蔽所有键盘按键,直接设为TRUE return (fEatKeystroke ? TRUE : CallNextHookEx( hkb, nCode, wParam, lParam )); }LRESULT CALLBACK MMouseProc( int nCode, WPARAM wParam, LPARAM lParam){ if (nCode < 0 ) { return CallNextHookEx(MousehHook, nCode, wParam, lParam); } if (HC_ACTION == nCode) { if (wParam == WM_RBUTTONDOWN) // Disable mouse RButton Down or Up { return true ; } if (wParam == WM_RBUTTONUP) { return true ; } } return CallNextHookEx(MousehHook, nCode, wParam, lParam);} /* 开启 */ MousehHook = SetWindowsHookEx(WH_MOUSE,MMouseProc,hinstExe, 0 );hkb = SetWindowsHookEx(WH_KEYBOARD_LL,MLowLevelKeyboardProc, hinstExe, 0 ); /* 关闭 */ UnhookWindowsHookEx(hkb);UnhookWindowsHookEx(MousehHook);
8. 得到当前进程名称
取得进程信息辅助类:http://download1.csdn.net/down3/20070618/18093155767.rar
STDMETHODIMP DefendCenter::GetProcessName(BSTR * name){ CProcessIterator itp; DWORD pid = GetCurrentProcessId(); TCHAR modname[_MAX_PATH]; CProcessModuleIterator itm(pid); HMODULE hModule = itm.First(); // .EXE if (hModule) { GetModuleBaseName(itm.GetProcessHandle(), hModule, modname, _MAX_PATH); } _bstr_t bstrText = _bstr_t(modname); * name = bstrText.copy(); return S_OK;}
