2016-04-12 31 views
1

aşağıdaki arada kayıt defteri anahtarını oluşturduk:Bu kayıt defteri hangi kayıt defteri anahtarını oluşturuyor?

Const HKEY_CURRENT_USER = &H80000001 

strComputer = "." 

Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv") 

strKeyPath = "SOFTWARE\application_upgrade" 

objRegistry.CreateKey HKEY_CURRENT_USER, strKeyPath 

ben başka bir uygulama var. Bu uygulamada, doğrulamak için Kayıt Defteri anahtarını vermeliyim. Yukarıdaki kodda kayıt defteri anahtarının ne olduğunu bilmiyorum.

"SOFTWARE \ application_upgrade" ve "application_upgrade" adlarıyla denedim ancak başarı elde edemiyorum.

Yukarıdaki kodda Kayıt Defteri anahtarının ne olduğunu söyleyen var mı? Yoksa bir şey mi özlüyorum?

+0

> http://www.robvanderwoude.com/vbstech_registry_wshshell.php bu == bir göz atın – Hackoo

+0

Tam kayıt yolu 'HKEY_CURRENT_USER \ SOFTWARE olmalıdır var \ O @Hackoo application_upgrade' – Lankymart

+0

sadece yazma başka bir yöntemi gösteriyor kayıt defteri, WMI yöntemi gayet iyi, zaten birincisi OP'nin çalışmasına yardımcı olurken başka bir yöntemin nasıl önerildiğini bilmiyorum. – Lankymart

cevap

0

Gerçekten bir programlama soru, ama görüntüleyebilir ve anahtar oluşturulmasını doğrulamak için Windows regedit.exe gibi bir şey kullanabilirsiniz.

Sen "yolunu erişirken yüzden

HKEY_CURRENT_USER\SOFTWARE\application_upgrade 

tam yolu olduğu (bu durumda kayıt defterinde HKEY_CURRENT_USER kovanı olup, adındaki sabit HKEY_CURRENT_USER = &H80000001 tarafından tanımlanan) ROOT eklemeniz gerekir Diğer uygulama " kullanmanız gerekecektir.

+0

Teşekkür ederim. Hepsini kontrol ettim. "Yukarıdaki komut dosyasında Kayıt Defteri anahtarının ne olduğunu bana anlatabilir misiniz, yoksa bir şey mi eksik?" Yukarıdaki betiğin doğru olduğundan eminim. –

+0

@NanjiMange Bu sorunun cevabını verdiyse yorumdan anlatamam mı? – Lankymart

+0

Anahtarda nasıl değer ekleyeceğimi önerebilir misiniz? Ekstra değişken ekleyerek denedim: "strValue =" version_10.1.0 ";" ve bu değişkeni son "objRegistry.CreateKey HKEY_CURRENT_USER, strKeyPath, strValue;" Ancak bu regedit.exe içinde değer yaratmıyor –

0

Bu çalışır. Tam olarak kodsuz dolaylı kaldırılan kodunuzla aynı.

Set objRegistry = GetObject("winmgmts:\\.\root\default:StdRegProv") 
strKeyPath = "SOFTWARE\application_upgrade" 
objRegistry.CreateKey &H80000001, "SOFTWARE\application_upgrade" 
+0

'H8000001' gibi belirsiz değerler için adlandırılmış sabitler hakkında anlamsız olan nedir? – Lankymart

+0

Eğer OP okudu soruyu okursanız kod çalışmadı, onlar sadece kayıt defterinde oluşturduğu tam yolu bilmek istediler. Alıntı - * "Herkes bana yukarıdaki komut dosyasında ne yazdığını söyleyebilir mi?" * – Lankymart