adjust project directory
This commit is contained in:
1 parent
f9cad5931e
commit
5c3f15c70e
24 files changed
+151
-35
No files matched your search
@@ -1,24 +0,0 @@
|
||||
function injectedFunction(color) {
|
||||
document.body.style.backgroundColor = color;
|
||||
}
|
||||
|
||||
|
||||
chrome.runtime.onMessage.addListener(async ({ name, options }) => {
|
||||
if (name === 'addRecord') {
|
||||
console.log('Hello World!');
|
||||
|
||||
// get active tab
|
||||
// const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
|
||||
// chrome.scripting.executeScript({
|
||||
// target: { tabId: tab.id },
|
||||
// func: injectedFunction,
|
||||
// args: ["orange"],
|
||||
// });
|
||||
|
||||
const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
|
||||
const response = await chrome.tabs.sendMessage(tab.id, { greeting: "hello" });
|
||||
// do something with response here, not outside the function
|
||||
console.log(response);
|
||||
|
||||
}
|
||||
});
|
||||
@@ -1 +1,49 @@
|
||||
import win32pipe
|
||||
import win32file
|
||||
import struct
|
||||
|
||||
|
||||
class HostClient:
|
||||
def __init__(self):
|
||||
self.pipe_name = r"\\.\pipe\BotExtPipe"
|
||||
self.pipe = None
|
||||
|
||||
def connect(self):
|
||||
self.pipe = win32file.CreateFile(
|
||||
self.pipe_name,
|
||||
win32file.GENERIC_READ | win32file.GENERIC_WRITE,
|
||||
0,
|
||||
None,
|
||||
win32file.OPEN_EXISTING,
|
||||
0,
|
||||
None,
|
||||
)
|
||||
|
||||
def write(self, data):
|
||||
if not self.pipe:
|
||||
self.connect()
|
||||
length = len(data)
|
||||
length_bytes = struct.pack("I", length)
|
||||
win32file.WriteFile(self.pipe, length_bytes)
|
||||
win32file.WriteFile(self.pipe, data)
|
||||
|
||||
def read(self):
|
||||
if not self.pipe:
|
||||
self.connect()
|
||||
length_bytes = win32file.ReadFile(self.pipe, 4)[1]
|
||||
length = struct.unpack("I", length_bytes)[0]
|
||||
data = win32file.ReadFile(self.pipe, length)[1]
|
||||
return data
|
||||
|
||||
def close(self):
|
||||
if self.pipe:
|
||||
win32file.CloseHandle(self.pipe)
|
||||
self.pipe = None
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
client = HostClient()
|
||||
client.connect()
|
||||
client.write(b"Hello, World!")
|
||||
print(client.read())
|
||||
client.close()
|
||||
@@ -4,4 +4,4 @@
|
||||
|
||||
:: Change HKCU to HKLM if you want to install globally.
|
||||
:: %~dp0 is the directory containing this bat script and ends with a backslash.
|
||||
REG ADD "HKCU\Software\Google\Chrome\NativeMessagingHosts\com.google.chrome.botext" /ve /t REG_SZ /d "%~dp0com.google.chrome.botext.json" /f
|
||||
REG ADD "HKCU\Software\Google\Chrome\NativeMessagingHosts\com.woni.botext" /ve /t REG_SZ /d "%~dp0com.google.chrome.botext.json" /f
|
||||
@@ -0,0 +1,21 @@
|
||||
import os
|
||||
|
||||
|
||||
# 在下载文件夹创建test目录
|
||||
# 获取windows 下载文件夹路径
|
||||
def get_download_folder():
|
||||
home_dir = os.path.expanduser("~")
|
||||
download_folder = os.path.join(home_dir, "Downloads")
|
||||
return download_folder
|
||||
|
||||
def main():
|
||||
# download_path = get_download_folder()
|
||||
# test = os.path.join(download_path, "test")
|
||||
# if not os.path.exists(test):
|
||||
# os.mkdir(test)
|
||||
print("install_host.bat")
|
||||
# os.system("install_host.bat")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "com.woni.chrome.botext",
|
||||
"description": "botext",
|
||||
"path": "D:\\CS\\BotBridge\\bin\\Debug\\net8.0\\BotBridge.exe",
|
||||
"type": "stdio",
|
||||
"allowed_origins": [
|
||||
"chrome-extension://hhfenmonendjidnaibblhgkapmbncmnp/"
|
||||
]
|
||||
}
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1 @@
|
||||
poetry build && pip install dist\botext-0.1.0-py3-none-any.whl --force-reinstall
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,52 @@
|
||||
// function injectedFunction(color) {
|
||||
// document.body.style.backgroundColor = color;
|
||||
// }
|
||||
|
||||
|
||||
// chrome.runtime.onMessage.addListener(async ({ name, options }) => {
|
||||
// if (name === 'addRecord') {
|
||||
// console.log('Hello World!');
|
||||
|
||||
// // get active tab
|
||||
// // const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
|
||||
// // chrome.scripting.executeScript({
|
||||
// // target: { tabId: tab.id },
|
||||
// // func: injectedFunction,
|
||||
// // args: ["orange"],
|
||||
// // });
|
||||
|
||||
// const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
|
||||
// const response = await chrome.tabs.sendMessage(tab.id, { greeting: "hello" });
|
||||
// // do something with response here, not outside the function
|
||||
// console.log(response);
|
||||
|
||||
// }
|
||||
// });
|
||||
|
||||
let port;
|
||||
|
||||
function sendMessage(message) {
|
||||
if (!port) {
|
||||
// this will run the first time to launch the native host, and save the connection to that instance in the port
|
||||
port = chrome.runtime.connectNative('com.woni.chrome.botext');
|
||||
}
|
||||
// Convert the message to a Uint8Array.
|
||||
var encoder = new TextEncoder();
|
||||
var messageBytes = encoder.encode(message);
|
||||
// Send the message length as a 32-bit integer.
|
||||
var buffer = new ArrayBuffer(4);
|
||||
var view = new DataView(buffer);
|
||||
view.setUint32(0, messageBytes.length, true);
|
||||
port.postMessage(buffer);
|
||||
|
||||
// Send the message content.
|
||||
port.postMessage(messageBytes);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
sendMessage('message 1');
|
||||
sendMessage('message 2');
|
||||
sendMessage('message 3');
|
||||
File renamed without changes.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
1. 注册表
|
||||
|
||||
REG ADD "HKCU\Software\Google\Chrome\NativeMessagingHosts\com.google.chrome.botext" /ve /t REG_SZ /d "%~dp0com.google.chrome.botext.json" /f
|
||||
|
||||
com.woni.chrome.botext
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
安装python模块自动运行脚本
|
||||
|
||||
1. 修改注册表
|
||||
2. 拷贝文件至目标目录
|
||||
3. 安装插件
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"name": "com.google.chrome.botext",
|
||||
"description": "botext",
|
||||
"path": "D:\\rust\\botext\\target\\debug\\botext.exe",
|
||||
"type": "stdio",
|
||||
"allowed_origins": [
|
||||
"chrome-extension://hbneoijjlheddhhonbkamdmgljmjcdom/"
|
||||
]
|
||||
}
|
||||
+2
-1
@@ -17,5 +17,6 @@ requires = ["poetry-core"]
|
||||
build-backend = "poetry.core.masonry.api"
|
||||
|
||||
|
||||
|
||||
[tool.poetry.scripts]
|
||||
# pyd = "python build-pyd.py build_ext --inplace"
|
||||
install = "botext.install:main"
|
||||
Reference in new issue
Block a user