359375198 发表于 2024-4-30 10:09:55

能不能控制电脑USB供电开关

能不能控制电脑USB供电开关?

ThisAV 发表于 2024-4-30 11:50:20

不能,想什么呢!

王一之 发表于 2024-4-30 14:45:01

你不会是在说用油猴吧

359375198 发表于 2024-4-30 15:20:15

王一之 发表于 2024-4-30 14:45
你不会是在说用油猴吧

哥哥,爱开玩笑

王一之 发表于 2024-4-30 15:21:08

359375198 发表于 2024-4-30 15:20
哥哥,爱开玩笑

油猴是做不到,没那个权限

不过应该有其它的可以做到,这就是知识盲区了

tfsn20 发表于 2024-5-2 19:29:56

本帖最后由 tfsn20 于 2024-5-2 19:31 编辑

试试WebUSB API,不过这些都需要一次用户手动点击。
以下代码可以连接小米手机(设备管理器里面查看设备id:USB\VID_2717&PID_FF88&REV_0223&MI_02,根据VID(vendorId)和PID,确定设备的具体型号和功能需要查询相应的数据库或官方文档。)
```
navigator.usb
.requestDevice({ filters: [{ vendorId: 2717 }] })
.then((device) => {
    console.log(device.productName);
    console.log(device.manufacturerName);
})
.catch((error) => {
    console.error(error);
});
```

s0919756 发表于 2024-5-6 01:31:12

本帖最后由 s0919756 于 2024-5-6 01:33 编辑

// ==UserScript==
// @name         簡易USB設備操作腳本
// @namespace    simple-usb-device-operation-script
// @version      1
// @description用於與USB設備進行簡單的交互操作。
// @author       腳本貓特色腳本前台USB控制~
// @match      *://*/*
// @grant      none
// ==/UserScript==

// 設置一個標誌來檢查是否已經請求過USB設備
let usbDeviceRequested = false;
// 標記已經請求過USB設備
usbDeviceRequested = true;

// 當腳本加載時,自動彈出請求USB設備的對話框
navigator.usb.requestDevice({ filters: [] }) // filters: [] 表示不過濾任何設備
    .then(device => {
      // 這裡可以添加您想要對USB設備進行的操作
      console.log('USB設備已連接:', device);
    })
    .catch(error => {
      // 如果用戶拒絕訪問或發生其他錯誤,將在控制台中顯示錯誤信息
      console.error('USB設備連接錯誤:', error);
    });          後台腳本 ~~// ==UserScript==
// @name         高階後台腳本USB
// @namespace    advanced-backend-support
// @version      0.1
// @description提供高級數據處理支援,用於輔助前台腳本
// @author       me
// @background
// @match      *://*/*
// @grant      none
// ==/UserScript==

// 此函數用於在網頁上下文中執行JavaScript代碼。
function contentEval(source) {
// 如果源代碼是函數,將其轉換為立即執行函數表達式(IIFE)
if (typeof source === 'function') {
    source = `(${source})();`;
}
// 創建一個script元素並將源代碼設置為其內容
const script = document.createElement('script');
script.setAttribute('type', 'application/javascript');
script.textContent = source;
// 將script元素添加到文檔中,然後立即移除,以執行源代碼
document.body.appendChild(script);
document.body.removeChild(script);
}

// 此函數根據URL路徑識別廣播者信息,用於頁面定位和操作。
function getBroadcaster() {
// 分割URL路徑
const pathArray = window.location.pathname.split('/');
// 檢查路徑格式並返回廣播者名稱
if (pathArray.length === 3 && pathArray === '' && pathArray !== '' && pathArray === '') {
    return pathArray;
} else if (pathArray.length === 4 && pathArray === '' && pathArray === 'b' && pathArray !== '' && pathArray === '') {
    return pathArray;
}
return null;
}

// 監聽前台腳本發送的消息。
window.addEventListener('message', async (event) => {
// 確保回應來自我們信任的來源
if (event.origin !== '您後台腳本的來源') return;

// 處理ping請求
if (event.data.type === 'pingRequest') {
    // 使用fetch API發送網絡請求
    fetch(event.data.url).then(response => response.text()).then(result => {
      // 將結果發送回前台腳本
      event.source.postMessage({ type: 'pingResponse', result: result }, event.origin);
    }).catch(error => {
      // 處理錯誤並發送糾正後的數據
      const correctedData = `根據錯誤信息糾正的數據: ${error.message}`;
      event.source.postMessage({ type: 'correctedDataResponse', result: correctedData }, event.origin);
    });
}
});

// 全局錯誤狀態追蹤變量
let globalErrorStatus = {
hasError: false, // 是否有錯誤發生
errorMessage: '' // 錯誤信息
};

// 檢查是否支持WebUSB API
if ("usb" in navigator) {
// WebUSB API被支持
navigator.usb.requestDevice({ filters: [] })
    .then(() => {
      // 處理USB設備
    })
    .catch(error => {
      // 處理錯誤
      console.log("There was an error: " + error);
    });       你試試看~~我測試是OK~但要注意你有沒有其他腳本或擴展會禁止彈出視窗~WEBAPI USB目前只支持https:.........而某些瀏覽器本身更新後就有BUG這方面要等官方修正~而你的系統安全設定也要設置為USB電源開關設置為開啟

s0919756 发表于 2024-5-6 11:37:36

https://scriptcat.org/api/v2/resource/image/I3MwBlA25Wd1LrEd
自己看一下吧~~~~~~~瀏覽器彈出來的USB控制窗口~~~~~~~~用腳本打造的~~相關腳本我有發布前後台都必須安裝~~~~也有滑鼠連點~也是腳本~但是這部分沒公布~~~~保留給王一之先生~

ThisAV 发表于 2024-5-6 13:56:12

s0919756 发表于 2024-5-6 01:31
// ==UserScript==
// @name         簡易USB設備操作腳本
// @namespace    simple-usb-device-operation- ...

人家问的是控制USB供电开关,并不是USB设备的连接……还特意来加我秀一下,真是醉了

ThisAV 发表于 2024-5-7 15:40:38

s0919756 发表于 2024-5-7 00:03
白癡~連電源開關都看不懂還在那炫耀~你有到底自信來自哪啊?可以教我嗎'?因為我真不知你哪來的臉皮這麼厚 ...

到你是你对“简体”表述的理解偏差还是你对“供电”两个字的理解有偏差?说话那么拽
页: [1]
查看完整版本: 能不能控制电脑USB供电开关