后來發(fā)現(xiàn)是另外一個(gè)文件里的類似代碼沒有修改,是另外一個(gè)文件報(bào)的錯(cuò)
終于解決了這個(gè)問題,在stackoverflow上面提問找到了解答:問答詳情
做法是添加消息隊(duì)列.為什么添加在這個(gè)問答:為什么添加消息隊(duì)列,大致意思是因?yàn)榈图?jí)鼠標(biāo)鍵盤鉤子默認(rèn)會(huì)馬上返回返回值,通過添加消息隊(duì)列就能解決.
添加了一個(gè)線程來控制鉤子,如果不添加好像程序不能按要求退出.
最后c++部分代碼:
// dllmain.cpp : Defines the entry point for the DLL application.
#include "stdafx.h"
#include "stdio.h"
HHOOK g_HookHwnd = NULL;
HHOOK g_hMouse = NULL;
HANDLE hThread = NULL;
// 鉤子子程
extern "C" _declspec(dllexport) LRESULT CALLBACK MyHookFun(int nCode, WPARAM wParam, LPARAM lParam)
{
printf("in hook key function\n");
// 這個(gè)Structure包含了鍵盤的信息
/*typedef struct {
DWORD vkCode;
DWORD scanCode;
DWORD flags;
DWORD time;
ULONG_PTR dwExtraInfo;
} KBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;*/
// 我們只需要那個(gè)vkCode
PKBDLLHOOKSTRUCT pVirKey = (PKBDLLHOOKSTRUCT)lParam;
// MSDN說了,nCode < 0的時(shí)候別處理
if (nCode >= 0)
{
// 按鍵消息
switch (wParam)
{
case WM_KEYDOWN:
case WM_SYSKEYDOWN:
case WM_KEYUP:
case WM_SYSKEYUP:
switch (pVirKey->vkCode)
{
case VK_LWIN:
case VK_RWIN:
return 1; // 吃掉消息
break;
}
return 1;
break;
}
}
return CallNextHookEx(g_HookHwnd, nCode, wParam, lParam);
}
extern "C" _declspec(dllexport) LRESULT CALLBACK MyHookMouse(int nCode, WPARAM wParam, LPARAM lParam)
{
printf("in hook mouse function\n");
return 1;
}
HMODULE g_Module;
extern "C" _declspec(dllexport) BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
{
break;
}
}
return TRUE;
}
extern "C" _declspec(dllexport) DWORD WINAPI controllHook(LPVOID lpParamter)
{
g_HookHwnd = SetWindowsHookEx(WH_KEYBOARD_LL, MyHookFun, g_Module, 0);
g_hMouse = SetWindowsHookEx(WH_MOUSE_LL, MyHookMouse, g_Module, 0);
while (true) {
MSG msg;
if (PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
extern "C" _declspec(dllexport) void FuncHookDevice()
{
if (!g_HookHwnd)
{
hThread = CreateThread(NULL, 0, controllHook, NULL, 0, NULL);
printf("start hook\n");
g_HookHwnd = SetWindowsHookEx(WH_KEYBOARD_LL, MyHookFun, g_Module, 0);
}
}
extern "C" _declspec(dllexport) void FuncEndHook()
{
printf("end hook\n");
UnhookWindowsHookEx(g_HookHwnd);
UnhookWindowsHookEx(g_hMouse);
CloseHandle(hThread);
g_HookHwnd = NULL;
}
<script src="https://cdn.bootcss.com/fetch-jsonp/1.1.3/fetch-jsonp.min.js"></script>
你的這個(gè)看不出來是什么問題。你需要仔細(xì)捋一下你的程序邏輯。
寬度100%,或者你的background-size自適應(yīng)有問題。排查下
arrayFn方法里面的bb不是數(shù)組,不能遞歸了
function arrayFn(data) {
data.forEach(item => {
if (item.age < 30 && item.age>10 ) {
console.log(item)
}
item.children.forEach(bb => {
arrayFn(bb) // 這個(gè)bb不是數(shù)組
})
})
}
你要判斷是否有children, 然后遞歸
function arrayFn(data) {
data.forEach(item => {
if (item.age < 30 && item.age>10 ) {
console.log(item)
}
if(item.children) {
arrayFn(item.children)
}
})
}
結(jié)果
去掉children
function arrayFn(data) {
data.forEach(item => {
if(item.children) {
arrayFn(item.children)
}
if (item.age < 30 && item.age>10 ) {
delete item.children
console.log(item)
}
})
}
結(jié)果
我以前用mui的時(shí)候?qū)ui.js放入一個(gè)文件中通過main.js成為公共使用
使用的話![]()
服務(wù)器返回403,那是服務(wù)器禁止了跨域訪問了吧。
在服務(wù)器返回時(shí)加上
res.header('Access-Control-Allow-Origin', '*');
res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
上面這幾段是expressjs的寫法
this.isChecked會(huì)不會(huì)是el-checkbox所需要的,去掉這里el-checkbox出問題,導(dǎo)致彈窗出不來。你換個(gè)點(diǎn)擊事件,比如一個(gè)button試試。
<button onclick="ServerDetail($event)">codm-lobby-0001</button>
function ServerDetail(e) {
$(e.target).html();
//...
}
<Route path='/user/:id' component={ComponentList} />H5的頁面video標(biāo)簽在移動(dòng)端播放時(shí) 如果點(diǎn)擊全屏播放 這時(shí)會(huì)有手機(jī)系統(tǒng)本身的播放器接管視頻播放功能,此時(shí)視頻的播放進(jìn)度等一系列狀態(tài)都有手機(jī)本身去管理,就完全脫離了H5的控制 直到退出全屏?xí)rH5的video標(biāo)簽重新接管視頻播放功能;
v-show or v-if
這個(gè)錯(cuò)誤提示已經(jīng)很明顯了。。Element沒有index這個(gè)字段。item[i]是個(gè)對(duì)象,你對(duì)象里沒有index這個(gè)字段,當(dāng)然報(bào)錯(cuò)。
在 packge.json里面加上 homepage的配置,如果最后發(fā)布地址是服務(wù)器根路徑,那么就配置homepage:'http://localhost:3001',然后重新打包,應(yīng)該就可以了吧
CSS的line-through屬性
使用ajax
background: url("") no-repeat center/cover;
試試這個(gè)css
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。