主題:修改注冊表的問題 共有51756人關注過本帖 |
---|
![]() fengshu777 |
1樓 信息 | 搜索 | 郵箱 |
![]() ![]() ![]() ![]() |
修改注冊表的問題 ![]() 硬件 ESM3352 系統 WEC7 我的程序在啟動時需要bind指定網卡的ip創建tcp服務器,但WEC在網卡沒有插網線的情況下上電,由于網卡的協議沒有啟動bind函數會失敗,為了解決這個問題,我通過在注冊表中添加一個KEY關閉系統的DHCP感知功能,重新上電后問題解決,但是我添加的這個key沒有了,這導致我再次上電后問題又出現了。我想請教一下這個key是上電后被系統恢復了嗎?我如何徹底關閉該功能? 我添加的key HKEY_LOCAL_MACHINE/COMM/TCPIP/Parameters 中添加 Name: DisableDHCPMediaSense Data type: REG_DWORD Value: 1 |
單帖管理 | 引用 | 回復 ![]() |
![]() yy |
2樓 信息 | 搜索 | 郵箱 |
![]() ![]() ![]() ![]() |
![]() 您好: 1.板子不插網線網卡驅動也是加載了的,可以bind成功的。有可能你的程序啟動較快,網卡驅動還未加載完畢,所以你可以在你程序里面稍微等待一段時間。 2.要禁用DHCP,在userinfo里面配置以下內容就可以了。 [LOCAL_MACHINE] DHCP="DisableDHCP" 另外DHCP和你bind IP沒有太大關系。 3.DisableDHCPMediaSense這個配置項我不確定WINCE是否支持,不過修改這一項沒有問題,再次上電也不會消失,可能你哪里操作錯誤了,你再檢查下吧。 |
單帖管理 | 引用 | 回復 ![]() |
![]() fengshu777 |
3樓 信息 | 搜索 | 郵箱 |
![]() ![]() ![]() ![]() |
![]() 我這里確實在上電前不插網線(上電后也不要插網線)的情況下,無法bind成功,定時不斷多次bind也是失敗(錯誤碼10049),只要網線一插上bind就成功了,注冊表上電DisableDHCPMediaSense就會消失,如果換個名字(比如DisableDHCPMediaSense1)就不會消失,注冊表我是用VS2005自帶的Remote Registry Editor修改的,是否我兩用的不是一個版本的系統?我的是Emtronix Built at Mar 10 2022 15:57:07,如果版本不一致,能否發一個你的版本我重新刷一下。 |
單帖管理 | 引用 | 回復 ![]() |
![]() yy |
4樓 信息 | 搜索 | 郵箱 |
![]() ![]() ![]() ![]() |
![]() 我理解你說的bind成功,是你自己的一個程序bind成功嗎?我發你個我測試的程序吧。 另外注冊表信息是不會平白無故消失的,只可能是程序控制的,我又測試了下,不會消失的啊,另外這個與內核版本沒有任何關系,我們內核不會去動wince核心部分,我們也沒有修改過DisableDHCPMediaSense相關的東西。 你在郵件里問的“MediaSense功能是否可以在內核制作時關閉”本質上就是修改注冊表的初值,并非問題關鍵。 我認為問題的關鍵在于,你描述的情況和我們測試情況完全不一樣,我更懷疑是別的因素導致的。你先用我提供的例程調試,你看看bind語句是不是能成功綁定。另外我也是用VS自帶的遠程注冊表工具來修改的,不會存在鍵值消失這種解釋不了的情況,望你再多測試確認下,有沒有可能這個鍵值消失和你測試用的程序有關呢? |
單帖管理 | 引用 | 回復 ![]() |