發表文章

目前顯示的是 4月, 2020的文章

Chrome native messaging host with C# app in windows

圖片
由於工作需要使用到chrome擴充功能跟C#寫的app做資料傳輸,所以學了一下 以下開始來看,先看chrome extension的部分: chrome的manifest.json: { "name": "Native Messaging Windows", "version": "1.0", "manifest_version": 2, "description": "Communicate with a native application.", "icons": { "16": "icons/icon_windows.png", "48": "icons/icon_windows.png", "128": "icons/icon_windows.png" }, "app": { "launch": { "local_path": "main.html" } }, "permissions": [ "nativeMessaging" ] } main.html: <!DOCTYPE html> <html> <head> <script src='./main.js'></script> </head> <body> <button id='connect-button'>Connect</button> <input id='input-text' type='text' /> <button id='send...

Visual Sudio2019創建MFC ActiveX工程製作IE OCX插件

圖片
前言 最近因為工作需要,實現IE extension插件,現在將學到的內容細節記錄下來, 本次的學習內容如下幾個主題: VS2019創建MFC ActiveX工程製作IE OCX插件 VS2019中MFC ActiveX工程如何調試 註冊ocx插件 在IE中使用JS調用第三方DLL函數 ㄧ. VS2019創建MFC ActiveX專案 1.新建專案 2. 默認,直接點下一步 3.  由於不需要顯示AboutBox,取消打勾“有關於對話框”,點擊完成 4. 建好的專案,文件格式如下圖 二. 加入自己要加的方法 js可以調用的ocx函數,一般寫在CDemoAXCtrl類中,該類即爲控件類(一個ActiveX可以寫多個控件類,本文就使用默認生成的這個CDemoAXCtrl控件類) 本人在 DemoAXCtrl.cpp中 添加了兩個隸屬於 CDemoAxCtrl底下的 方法,代碼如下 // JS調用返回 歡迎 xx,hello world! BSTR CDemoAXCtrl::speakHelloWorld(LPCTSTR pname) { CString res(""); res.Format(_T("您好%s,hello world!"), pname); return res.AllocSysString(); } LONG CDemoAXCtrl::add(LONG a, LONG b) { return a + b; } 此時會有紅線,不用緊張, JS還不能調用,我們還需要在DemoAXCtrl.h & .cpp加入如下代碼 //DemoAXCtrl.h中,添加如下代碼 class CDemoAXCtrl : public COleControl { //此處爲默認生成的代碼 // 調度和事件 ID public: enum { dispidSpeakHelloWorld = 1L, dispidadd = 2L }; protected: // JS調用返回 歡迎 xx,hello world! BSTR speakHelloWorld(LPCTSTR...