2013-10-25 2 views
0

내 상황/문제의 목표는 내 getValue의 setValue를 레지스트리 내의 대상으로 설정하려고합니다. 나는 get/sets에 너무 익숙하지 않기 때문에 어떤 도움도 굉장하지 않을 것입니다. 나 한테 필요한 것이 있으면 알려줘.레지스트리를 기반으로 한 값 설정

+0

팁 하나만 네 이름 공간과 같은 클래스 이름을 지정하지 마십시오. 'Ironman' – EkoostikMartin

+0

당신이 정말로 묻고있는 것을 해독하는 데 문제가 있습니다 만, 속성은 실제로 매우 간단합니다 ... 그 값을 얻으려면'string KeyPath = this.keypath' ...를 할 수 있습니다 속성을 설정하면'this.TextOut = "output, yo!"'... –

답변

1

레지스트리 값을 얻으려면 Registry.GetValue을 사용하는 것이 좋습니다. 컨텍스트를 사용하여 출력 인수를 설정하기 만하면됩니다.

예 : Path 실제로 값 이름이고 HKEY_CURRENT_USER\Software\7-Zip 키 이름입니다 HKEY_CURRENT_USER\Software\7-Zip\Path : 여기

using System; 
using System.Activities; 
using Microsoft.Win32; 
using System.IO; 

public class GetRegistryValue : CodeActivity 
{ 
    [RequiredArgument] 
    public InArgument<string> KeyPath { get; set; } 
    public OutArgument<string> TextOut { get; set; } 

    protected override void Execute(CodeActivityContext context) 
    { 
     string keyPath = this.KeyPath.Get(context); 
     string keyName = Path.GetDirectoryName(keyPath); 
     string valueName = Path.GetFileName(keyPath); 
     object value = Registry.GetValue(keyName, valueName, ""); 
     context.SetValue(this.TextOut, value.ToString()); 
    } 
} 

키 패스가 같은입니다. 레지스트리 값을 설정하려면 Registry.SetValue을 살펴보십시오.

+0

Registry.SetValue를 사용할 때 여기서 value 인수에 대한 객체가 무엇인지 알아 내려고 애쓰며'string keyPath = this .keypath.Set (context, ???);' – Brandon

+0

@ 브랜 던 나는이 질문을 이해하지 못한다. setter 메소드의 "value"인수는 저장 위치에 넣으려는 값입니다. 또한 대부분의 setter 메소드는 아무 것도 반환하지 않습니다. –

+0

음, 레지스트리 키를 작성하는 데 setter 메소드가 필요하다고 생각했을 때. 이게 맞지 않아? getter 내에서이 작업을 수행 할 수 있습니까? – Brandon

관련 문제