Title
RegFlushKey 를 사용하여 주시기 바랍니다.
Writer
조건우
Written time
2025-10-24 오전 11:26:37
Hits
22
Attached File
질문> RegFlushKey 호출해도 적용되지 않고 있습니다. return은 0 나오네요. 답변> 안녕하십니까. 오토베이스 기술지원팀입니다. Windows CE의 경우, 새로이 작성된 Registry 값을 다시 적용시켜야만 수정하신 고정 ip 설정으로 적용됩니다. 이를 위해서는 1. 재부팅 (reboot) 이 기본적이며, 재부팅을 원치 않으신다면 2. 레지스트리 재적용 (Flush) 를 이용하셔야만 합니다. Windows CE 에서 제공되는 coredll.dll 의 RegFlushKey를 이용하는 예제는 다음과 같습니다. // 예제 [DllImport("coredll.dll")] private static extern int RegFlushKey(long hKey); string keyName = string.Format("{0}{1}{2}", "HKEY_LOCAL_MACHINE\\Comm\\", "GMAC","\\Parms\\TcpIp"); Registry.SetValue(keyName, "EnableDHCP", 1); Registry.SetValue(keyName, "IpAddress", "192.168.1.101"); Registry.SetValue(keyName, "Subnetmask", "255.255.255.0"); Registry.SetValue(keyName, "DefaultGateway", "192.168.1.1"); RegFlushKey(2147483648L); RegFlushKey(2147483649L); RegFlushKey(2147483650L); RegFlushKey(2147483651L); // 감사합니다. 더욱 자세한 답변이나 다른 문의사항이 있으시면 저희 기술지원팀으로 문의하여 주시기 바랍니다. 감사합니다. 질문> Comm\GMAC\Parms\TcpIp 레지스트리 수정하여 DHCP, IP, SN, GW 값 변경은 되는데 재부팅 해야만 적용되고 있습니다. 레지스트리 수정 후 윈도우의 IP 정보에서 갱신을 하거나 GMAC 어댑터 속성에서 저장하면 바로 값이 적용되는데 C#에서 해당 방식처럼 바로 적용할 수 있는 방법 확인요청드립니다. 답변>