wxapkg icon indicating copy to clipboard operation
wxapkg copied to clipboard

自动获取微信安装位置(附代码)

Open bigsinger opened this issue 11 months ago • 54 comments

/// <summary>
/// 通过注册表读取某字符串数值
/// </summary>
/// <param name="subPath"></param>
/// <param name="name"></param>
/// <returns></returns>
public static string? ReadPathFromReg(string subPath, string name) {
    string? res = null;
    try {
        RegistryKey? key = Registry.LocalMachine.OpenSubKey(subPath);
        if (key is not null) {
            res = key.GetValue(name)?.ToString();
            key.Close();
        }
    } catch (Exception) {
    }

    if (res == null) {
        try {
            RegistryKey? key = Registry.CurrentUser.OpenSubKey(subPath);
            if (key is not null) {
                res = key.GetValue(name)?.ToString();
                key.Close();
            }
        } catch (Exception) {
        }
    }

    return res;
}

调用方式: ReadPathFromReg(@"SOFTWARE\Tencent\WeChat", "FileSavePath");

用gpt转换为go语言(仅作参考,可能需要修改优化):

package main

import (
	"fmt"
	"github.com/Microsoft/Windows-sysinternals-docs/blob/master/registry/goreg"
)

func main() {
	subPath := "YourRegistrySubPath"
	name := "YourValueName"
	value, err := ReadValueFromReg(subPath, name)
	if err != nil {
		fmt.Println("Error reading from registry:", err)
	} else {
		fmt.Println("Value read from registry:", value)
	}
}

func ReadValueFromReg(subPath, name string) (string, error) {
	// First, try to read from LocalMachine hive
	key, err := winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, subPath, winreg.QUERY_VALUE)
	if err == nil {
		defer key.Close()
		value, _, err := key.GetStringValue(name)
		if err == nil {
			return value, nil
		}
	}

	// If that fails, try to read from CurrentUser hive
	key, err = winreg.OpenKey(winreg.HKEY_CURRENT_USER, subPath, winreg.QUERY_VALUE)
	if err == nil {
		defer key.Close()
		value, _, err := key.GetStringValue(name)
		if err == nil {
			return value, nil
		}
	}

	return "", err
}

bigsinger avatar Mar 19 '24 02:03 bigsinger

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

wux1an avatar Apr 02 '24 11:04 wux1an

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

微信版本也更新了。。。狠狠期待住。

zdone avatar Apr 03 '24 06:04 zdone

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg

感谢提供代码,正在写新的带界面的版本,会加上从注册表读取微信安装路径的功能

有预计发布时间么?期待一下

egggg avatar Apr 08 '24 09:04 egggg