mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
.github
docs
script
checkVersion.cjs
copy-core.cjs
gen-version.ts
napcat-custom.bat
napcat-gc.ps1
napcat-log.ps1
napcat-utf8.bat
napcat-utf8.ps1
napcat.bat
napcat.ps1
napcat.sh
src
static
test
.editorconfig
.env.development
.env.production
.eslintrc.cjs
.gitignore
.gitmodules
LICENSE
README.md
logo.png
package.json
tsconfig.json
vite.config.ts
43 lines
1.3 KiB
PowerShell
43 lines
1.3 KiB
PowerShell
function Get-QQpath {
|
|
try {
|
|
$key = Get-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\QQ"
|
|
$uninstallString = $key.UninstallString
|
|
return [System.IO.Path]::GetDirectoryName($uninstallString) + "\QQ.exe"
|
|
}
|
|
catch {
|
|
throw "get QQ path error: $_"
|
|
}
|
|
}
|
|
function Select-QQPath {
|
|
Add-Type -AssemblyName System.Windows.Forms
|
|
[System.Windows.Forms.Application]::EnableVisualStyles()
|
|
|
|
$dialogTitle = "Select QQ.exe"
|
|
|
|
$filePicker = New-Object System.Windows.Forms.OpenFileDialog
|
|
$filePicker.Title = $dialogTitle
|
|
$filePicker.Filter = "Executable Files (*.exe)|*.exe|All Files (*.*)|*.*"
|
|
$filePicker.FilterIndex = 1
|
|
$null = $filePicker.ShowDialog()
|
|
if (-not ($filePicker.FileName)) {
|
|
throw "User did not select an .exe file."
|
|
}
|
|
return $filePicker.FileName
|
|
}
|
|
|
|
$params = $args -join " "
|
|
Try {
|
|
$QQpath = Get-QQpath
|
|
}
|
|
Catch {
|
|
$QQpath = Select-QQPath
|
|
}
|
|
|
|
if (!(Test-Path $QQpath)) {
|
|
throw "provided QQ path is invalid: $QQpath"
|
|
}
|
|
|
|
$Bootfile = Join-Path $PSScriptRoot "napcat.mjs"
|
|
$env:ELECTRON_RUN_AS_NODE = 1
|
|
$commandInfo = Get-Command $QQpath -ErrorAction Stop
|
|
Start-Process powershell -ArgumentList "-noexit", "-noprofile", "-command &{& '$($commandInfo.Path)' $Bootfile $params}" |