任何人都可以帮我拉取注册表项的值并将其放入PowerShell中的变量中吗?到目前为止,我已经使用了Get-ItemProperty
,reg query
虽然两者都会提取值,但两者都会添加额外的文本.我只需要注册表项中的字符串文本,只需要键中的字符串文本.我确信我可以创建一个函数去除额外的文本,但如果有什么变化(即reg键名称),它可能会影响这个.
在.Net中,我们可以检索"特殊文件夹"的路径,例如Documents/Desktop等.今天我试图找到一种方法来获取"下载"文件夹的路径,但它看起来并不特别.
我知道我可以做'C:\ Users\Username\Downloads',但这似乎是一个丑陋的解决方案.那么如何使用.Net来修复路径呢?
.net registry environment-variables special-folders registrykey
有没有办法以编程方式打开/关闭操作中心?另外,我想知道是否有办法以编程方式打开/关闭特定通知?在制造过程中,我们使用Windows 10的基本映像关闭它们,我正在为我们制作的应用程序编写补丁.我一直负责的事情之一是用补丁重新打开它们(或者至少弄清楚它是不可能的).
我不需要知道如何做Toast Notifications.我只需要显示Action Center,然后打开Windows Updates和Defender的通知
我想在我的上下文菜单(Windows 7和10)上添加一个选项,当我右键单击该文件夹时,将Anaconda Prompt打开到文件位置,但我找不到正确的注册表项.
这是我所知道的怎么做:
我无法弄清楚的是如何将这些步骤组合到一个注册表项中,这样我就可以打开一个Anaconda Prompt然后在该提示符下cd到当前文件夹.但也许我正以错误的方式接近这一点.
来自互联网大师的帮助表示赞赏.
小维利斯在这里.我正在尝试使用批处理脚本编辑双击.jar文件时使用的现有注册表项.问题是我试图输入的数据包含引号但我还需要引号才能将其视为字符串.
例:
reg add "HKEY_LOCAL_MACHINE\Software\Classes\jarfile\shell\open\command" /v "" /t REG_EXPAND_SZ /d "C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %* /f
Run Code Online (Sandbox Code Playgroud)
当我在批处理脚本中运行它时,cmd窗口打印出"错误:命令行参数太多"
所以要做到这一点很简单.我想添加一个注册表项,其中包含"C:\ Program Files\Java\jre7\bin\javaw.exe"-jar"%1"%*作为包含报价和%1和%*的数据完全相同没有转换为任何实际的语句或字符串.
编辑:
通常使用此命令行字符串添加注册表:
ftype jarfile="C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*
Run Code Online (Sandbox Code Playgroud)
它在命令行中工作正常,但正如下面给出的代码,当我在批处理脚本中使用它时,"%1"和%*不会出现.
我希望在Chrome中有一个链接,例如
当您在Chrome浏览器中单击它时,它会在IE窗口中启动链接.
任何人都可以解释如何做到这一点.我相信这是可能的,可能涉及在注册表中添加一些设置
ps:我不能使用任何浏览器扩展,例如IETab或其中任何一个.它必须在机器上启动IE.
我正在尝试通过命令行从注册表项值获取数据
我可以使用以下代码检索注册表项的值
reg query HKCU\Software\[PATH_TO_MY_DIR] /v [KEY_NAME]
Run Code Online (Sandbox Code Playgroud)
这按预期工作并输出三个项目:
我正在尝试从命令行中的值获取数据,我该怎么做?
我正在尝试使用C#来读取具有混合数据类型的excel文件.下面是我的连接字符串
var path = //xls location
var MyConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source='" + path + "';Extended Properties='Excel 8.0;IMEX=1;'");
Run Code Online (Sandbox Code Playgroud)
研究告诉我,Extended Properties
连接字符串中的完整应该是
Excel 8.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text
但是,我被告知在连接字符串中,TypeGuessRows=0
没有任何意义,因为该值将直接从注册表中获取.因此,我需要手动修改密钥并从连接字符串中删除此属性.
涉及的特定注册表项是:
路径:
HKEY_LOCAL_MACHINE\SOFTWARE \微软\喷气\ 4.0 \发动机\ EXCEL
键:
TypeGuessRows
原始值= 8,为了使其工作变为= 0
如果不这样做的IMEX
将无法正常工作,甚至强硬.我添加TypeGuessRows=0
进了Extended Properties
.
但是,我的公司禁止修改注册表值(严格地说).我被告知找到替代方案.
简而言之:
有没有办法读取混合数据类型excel文件,而无需修改任何注册表项(这是一种非常常见的做法)?
更多主题:
你以前经历过这个吗?是否有可能我们可以TypeGuessRows=0
从连接字符串设置而无需修改注册表项(取消我的上述前提).
如果事情不能解决OleDb
:
旁边还有替代品OleDb
吗?
我感谢任何建议或建议.
问候
在您尝试使用"快速Google搜索"进行回答之前.我想指出我已经.这是情况,我有以下方法尝试修改注册表项值.我得到的问题是,当执行时,它会抛出一个UnauthorizedAccessException,即使我已经将密钥打开为可写.我以管理员身份运行Visual Studio,甚至尝试使用清单文件创建一个小的.exe,强制它以管理员身份运行,执行代码时没有运气.密钥已经存在,它不会尝试进入CreateKey方法.这是代码块.
Path = "S-1-5-21-1644491937-1078145449-682003330-5490\Software\Microsoft\Windows\CurrentVersion\Policies\System"
Key = "DisableTaskMgr"
NewValue = 1
public OperationResult ModifyKey()
{
OperationResult result = new OperationResult();
if (!Path.IsNullOrEmptyTrim())
{
if (!Key.IsNullOrEmptyTrim())
{
try
{
var key = Microsoft.Win32.Registry.Users.OpenSubKey(Path, true);
if (key != null)
{
key.SetValue(Key, NewValue);
key.Close();
}
else
{
result = CreateKey();
}
}
catch (Exception ex)
{
result.SetFail("Error accessing registry", ex);
}
}
else
{
result.SetFail("Registry key was null");
}
}
else
{
result.SetFail("Registry path was null");
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
我是否必须手动遍历注册表树,将每个OpenSubKey调用设置为可写?我也尝试了这个,仍然犯了同样的错误......
除了MSDN参考,我想知道这些键的作用是什么?KEY_WOW64_32KEY是否意味着x64操作系统上的32位应用程序将访问WOW64注册表树?又请问KEY_WOW64_64KEY意味着在x64操作系统的32位应用程序将使用普通的注册表树,而不是WOW64注册表树?如果我必须访问一些我不知道是否位于WOW64或普通注册表树中的密钥怎么办?
registrykey ×10
registry ×5
c# ×3
windows ×3
.net ×1
anaconda ×1
batch-file ×1
command ×1
command-line ×1
contextmenu ×1
excel ×1
oledb ×1
powershell ×1
variables ×1
winapi ×1