如何删除wince的密码以及拨号等组件?

wangjiayu919   2009-1-6 15:27 楼主
请大家帮忙,下面红框的组件怎么删除的,例如密码设置组件
————————————————————————————————————

我刚开始以为是下面这个,可惜不是。删除后密码组件还在


麻烦大家指点一下。

回复评论 (39)

没弄过,估计和注册表有关,LZ可以看看注册表,猜的,说错请指正
点赞  2009-1-6 15:42
没弄过,估计和注册表有关,LZ可以看看注册表,猜的,说错请指正
————————————————————————————————
哈哈,帮我回帖我就很感激了。

好久不见你哦,我记得几个月前我发了个binfs分区相关的帖子,你帮我回了,你说我搞懂了要告诉你的。
现在我搞懂了,我写了详细的博客,在bootloader标签下,你有空看看,有什么错误请指出哦。
点赞  2009-1-6 15:47
看面板控制的那部分源码去,就是那个CPL。EXE什么的。可以把一些钩掉的!
点赞  2009-1-6 15:56
我没去掉
但是你可以把软键盘在启动的时候弹出来,这样密码的功能就可以用了

其修改位置在:
\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\STARTUI
在相应位置调用SipShowIM函数

但是设置密码启动后如果你的屏不是宽屏,其实是看不到输入密码的编辑框的,我试图修改那个资源,但是没成功
你要是能修改成功告诉我。
其资源在C:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\STARTUI

其他两个在哪去掉不知道,现在客户需求真多!
点赞  2009-1-6 16:01
引用: 引用 3 楼 xqhrs232 的回复:
看面板控制的那部分源码去,就是那个CPL。EXE什么的。可以把一些钩掉的!


没有什么CPL啊,你是指standard shell那里吗?
点赞  2009-1-6 16:03
没做过,关注中,帮顶一个!
点赞  2009-1-6 16:08
引用: 引用 3 楼 xqhrs232 的回复:
看面板控制的那部分源码去,就是那个CPL。EXE什么的。可以把一些钩掉的!


哦,你说的是%_WINCEROOT%\PUBLIC \WCESHELLFE\ OAK\CTLPNL目录下的源码修改可以实现?
OK,看来并不简单哦。
点赞  2009-1-6 16:15
兄弟我帮你找到了
CPLAPPLETINFO rgApplets[] = {
// mutex-name, pwd-protect, icon, name, description, commctrl flags CPLTABINFO pointers
{L"CPL_Comm",    NULL, 0, IDI_COMM,   IDS_COMM_NAME,   IDS_COMM_DESC,   IDS_COMM_TITLE,0,   &CommRasTab, 0, 0, 0, 0 },
{L"CPL_Dialing", NULL, 0, IDI_DIALING,IDS_DIALING_NAME,IDS_DIALING_DESC,IDS_DIALING_TITLE,0,&DialingTab,0, 0, 0, 0 },
{L"CPL_Keyboard",NULL, 0, IDI_KEYBD,  IDS_KEYBD_NAME,  IDS_KEYBD_DESC,  IDS_KEYBD_TITLE,0,  &KeybdTab,         0, 0, 0, 0 },
{L"CPL_Password",NULL, 1, IDI_PASSWD, IDS_PASSWD_NAME, IDS_PASSWD_DESC, IDS_PASSWD_TITLE,0, &PasswdTab, 0, 0, 0, 0 },       
{L"CPL_Owner",   NULL, 1, IDI_PROFILE,IDS_PROFILE_NAME,IDS_PROFILE_DESC,IDS_PROFILE_TITLE,0,&OwnerTab,  &NotesTab, &NetIdentTab, 0, 0 },       
{L"CPL_Power",   _T("PowerCallback"), 0, IDI_POWER,  IDS_POWER_NAME,  IDS_POWER_DESC,  IDS_POWER_TITLE, ICC_LISTVIEW_CLASSES,  &BatteryTab, 0, 0, 0, 0 },
{L"CPL_System",  NULL, 0, IDI_SYSTEM, IDS_SYSTEM_NAME, IDS_SYSTEM_DESC, IDS_SYSTEM_TITLE,0, &SystemTab, &MemoryTab, &SystemIdentTab, &CopyrTab, 0 },
{L"CPL_Screen",         NULL, 0, IDI_SCREEN, IDS_SCREEN_NAME, IDS_SCREEN_DESC, IDS_SCREEN_TITLE,0, &BackgndTab,&ColSchemeTab, &BcklitTab, 0, 0 },
{L"CPL_Mouse",   NULL, 0, IDI_MOUSE,  IDS_MOUSE_NAME,  IDS_MOUSE_DESC,  IDS_MOUSE_TITLE,0,  &DblClkTab, 0, 0, 0, 0 },
{L"CPL_Stylus",  NULL, 0, IDI_STYLUS, IDS_STYLUS_NAME, IDS_STYLUS_DESC, IDS_STYLUS_TITLE,0, &DblTapTab, &CalibratTab, 0, 0, 0 },
{L"CPL_Sounds",  NULL, 0, IDI_SOUNDS, IDS_SOUND_NAME,  IDS_SOUND_DESC,  IDS_SOUND_TITLE,0,  &VolumeTab, &SndSchemeTab, 0, 0, 0 },
{L"CPL_SIP",     NULL, 0, IDI_SIP,    IDS_SIP_NAME,    IDS_SIP_DESC,    IDS_SIP_TITLE,0,    &SipTab, 0, 0, 0, 0 },
{L"CPL_Remove",  NULL, 0, IDI_REMOVE, IDS_REMOVE_NAME, IDS_REMOVE_DESC, IDS_REMOVE_TITLE,0, &RemoveTab, 0, 0, 0, 0 },
{L"CPL_DateTime",NULL, 0, IDI_TIME,   IDS_DATETIME_NAME, IDS_DATETIME_DESC, IDS_DATETIME_TITLE,ICC_DATE_CLASSES, &DateTimeTab, 0, 0, 0, 0 },
{L"CPL_Certs",         NULL, 0, IDI_CERT,   IDS_CERTCPL_NAME,IDS_CERTCPL_DESC,IDS_CERTCPL_TITLE,0,&CertRootsTab, 0, 0, 0, 0 },
{L"CPL_Accessib",NULL, 0, IDI_ACCESS, IDS_ACCESS_NAME, IDS_ACCESS_DESC, IDS_ACCESS_TITLE,0, &AccKeybdTab, &AccSoundTab, &AccDispTab, &AccMouseTab, &AccGeneralTab},
};

点赞  2009-1-6 17:00
C:\WINCE500\PUBLIC\WCESHELLFE\OAK\CTLPNL——在这下面吗?
我去看看。
点赞  2009-1-6 17:14
我看过一些控制面板的源代码,就是下面的一些组件


12/15/2008  02:59:04        8192  ctlpnl.exe -----控制面板的AP
   
    12/15/2008  03:21:54      207360  cplmain.cpl
    12/15/2008  03:21:54       56832  intlp.cpl
    12/15/2008  03:21:54        9728  connpnl.cpl
    12/15/2008  03:21:54       30208  bthpnl.cpl-----控制面板中蓝牙
    12/15/2008  03:21:54       23552  stguip.cpl
    12/15/2008  03:00:06        4096  system.cpl -----控制面板中系统

等等。。。。。。
点赞  2009-1-6 17:14
引用: 引用 8 楼 wangxin_801115 的回复:
兄弟我帮你找到了
CPLAPPLETINFO rgApplets[] = {
// mutex-name, pwd-protect, icon, name, description, commctrl flags CPLTABINFO pointers
{L"CPL_Comm",    NULL, 0, IDI_COMM,  IDS_COMM_NAME,  IDS_COMM_DESC,  IDS_COMM_TITLE,0,  &CommRasTab, 0, 0, 0, 0 },
{L"CPL_Dialing", NULL, 0, IDI_DIALING,IDS_DIALING_NAME,IDS_DIALING_DESC,IDS_DIALING_TITLE,0,&DialingTab,0, 0, 0, 0 },
{L"CPL_Keyboard",NUL…


在这里C:\WINCE500\PUBLIC\WCESHELLFE\OAK\CTLPNL\CPLMAIN\cpltable.cpp(161):CPLAPPLETINFO rgApplets[] =
点赞  2009-1-6 17:20
引用: 引用 9 楼 gooogleman 的回复:
C:\WINCE500\PUBLIC\WCESHELLFE\OAK\CTLPNL——在这下面吗?
我去看看。


对,就是它!研究好了,别忘了写个博客,让大家受益!
点赞  2009-1-6 17:24
引用: 引用 12 楼 xqhrs232 的回复:
引用 9 楼 gooogleman 的回复:
C:\WINCE500\PUBLIC\WCESHELLFE\OAK\CTLPNL——在这下面吗?
我去看看。


对,就是它!研究好了,别忘了写个博客,让大家受益!


估计把
{L"CPL_Password",NULL, 1, IDI_PASSWD, IDS_PASSWD_NAME, IDS_PASSWD_DESC, IDS_PASSWD_TITLE,0, &PasswdTab, 0, 0, 0, 0 },       
删除了就可以了。
点赞  2009-1-6 17:29
怎么没有人顶呢?
明天再试试吧。哦

你们自己做UI是怎么做的?
点赞  2009-1-6 19:43
好像还有一些要在bib重去掉文件的copy。我以前是把别人的cpl文件加到我的系统中的。像研博自己就做了一个cpl。
我们的产品不要考虑这个,用户只看到我们的软件,极少功能需要用到系统这些东西
点赞  2009-1-6 20:21
学习了
点赞  2009-1-6 20:25
引用: 引用 14 楼 gooogleman 的回复:
怎么没有人顶呢?
明天再试试吧。哦

你们自己做UI是怎么做的?


你没试啊
我等你出结果呢
哈哈!
我现在不敢编译public了,把我的PB都搞的乱七八糟的,D:\WINCE420\PRIVATE\WINCEOS\COREOS\NK\KERNEL\ARM下我就只有一个mdarm.c
点赞  2009-1-6 22:21
引用: 引用 17 楼 wangxin_801115 的回复:
引用 14 楼 gooogleman 的回复:
怎么没有人顶呢?
明天再试试吧。哦

你们自己做UI是怎么做的?


你没试啊
我等你出结果呢
哈哈!
我现在不敢编译public了,把我的PB都搞的乱七八糟的,D:\WINCE420\PRIVATE\WINCEOS\COREOS\NK\KERNEL\ARM下我就只有一个mdarm.c


奇怪,我在\WINCE420\PRIVATE\WINCEOS\COREOS\NK\KERNEL\ARM有好多个汇编的,除了mdarm.c,还有armtrap.s等。
是不是你把PB搞坏了,5.0还有版本差别?
这样吧,你搜索KernelStart这个标号,什么都出来了。注意:一定要搜索所有文件,因为他在汇编下的。
点赞  2009-1-6 23:57
  1. LONG LaunchCpl(int iApplet, int iSelectTab)
  2. {
  3.     PROPSHEETPAGE* rgPropPages;
  4.     PROPSHEETHEADER PropHdr;
  5.     int nPages, i, j;
  6.     BOOL fRet;
  7.     LPTSTR pszPasswd = NULL;
  8.    
  9.     // Check if applet exists
  10.     if(!GETTABDLGPROC(iApplet, 0)) {
  11.         DEBUGMSG(ZONE_ERROR, (L"CPL: Launched Applet %d, but component (%s) not present\r\n", iApplet, rgApplets[iApplet].pszMutex));
  12.         return FALSE;
  13.     }
  14.    
  15.     // Find out if the Welcome app is running. If so, we do special things later
  16.     if((g_hwndWelcome = FindWindow(WELCOME_CLASS, NULL))) {
  17.         DEBUGMSG(ZONE_MAIN, (L"CPL: WELCOME APP is running: hwndWelcome=%x\r\n", g_hwndWelcome));
  18.     }
  19.    
  20.     // Allow the CPLTABINFO to be modified, perhaps to add or remove tabs.
  21.     if (rgApplets[iApplet].pszLaunchCplCallback) {
  22.         // get a pointer to the callback routine
  23.         LPFNLAUNCHCPLCALLBACK pfnLaunchCpl =
  24.             (LPFNLAUNCHCPLCALLBACK) GetProcAddress(g_hInst, rgApplets[iApplet].pszLaunchCplCallback);
  25.         if(pfnLaunchCpl == NULL) {
  26.             DEBUGMSG(ZONE_ERROR|ZONE_MAIN, (L"CPL: Can't find launch callback '%s'--exiting propsheet\r\n",
  27.                 rgApplets[iApplet].pszLaunchCplCallback));
  28.             return FALSE;
  29.         }
  30.         
  31.         // If the function fails, don't open the propsheet
  32.         if (!(*pfnLaunchCpl)(&rgApplets[iApplet])) {
  33.             DEBUGMSG(ZONE_ERROR|ZONE_MAIN, (L"CPL: Problem modifying the CPLTABINFO--exiting propsheet\r\n"));
  34.             return FALSE;
  35.         }
  36.     }
  37.    
  38.     // check if we need to prompt for password
  39.     if(rgApplets[iApplet].fPwdProtect)
  40.     {
  41.         // if we fail to Authenticate
  42.         const HWND hParentWindow=NULL;
  43. #ifndef USE_LASS_AUTH
  44.         if(!(pszPasswd = PromptForPasswd(hParentWindow)))
  45. #else
  46.         if(!(VerifyUser(&AE_CPLMAIN,NULL,hParentWindow,VU_UNTIL_SUCCESS,0)))
  47. #endif
  48.         {
  49.             DEBUGMSG(ZONE_ERROR|ZONE_MAIN, (L"Failed to get good password--exiting propsheet\r\n"));
  50.             
  51.             return FALSE;
  52.         }
  53.     }                 
  54.    
  55.     // check to see if we need to load any common controls
  56.     if(rgApplets[iApplet].cctrlFlags != 0)
  57.     {
  58.         INITCOMMONCONTROLSEX    icex;
  59.         
  60.         // Initialize the common controls...
  61.         icex.dwSize = sizeof(icex);
  62.         icex.dwICC  = rgApplets[iApplet].cctrlFlags;
  63.         InitCommonControlsEx(&icex);
  64.     }
  65.    
  66.     // special handling for "externl" CPLs, i.e. the Dialing CPL
  67.     // if the title of the first tab is NULL then we assume it is external
  68.     if(rgApplets[iApplet].rgptab[0]->idsTitle==NULL)
  69.     {
  70.         DEBUGMSG(ZONE_MAIN, (L"External CPL\r\n"));
  71.         // cast the "dlgproc" ptr to a FARPROC (no args) and call it
  72.         //Prefix
  73.         MyFree(pszPasswd);
  74.         return ((FARPROC)GETTABDLGPROC(iApplet, 0))();
  75.     }
  76.    
  77.     // Count the pages
  78.     for(nPages=0;  nPages
  79.         ;
  80.     // alloc the page array
  81.     rgPropPages = MyRgAlloc(PROPSHEETPAGE, nPages); // freed at end of this fn
  82.    
  83.     if(!rgPropPages) {
  84.         MyFree(pszPasswd);
  85.         return FALSE;
  86.     }
  87.    
  88.     // populate the page array. i iterates through rgPropPages,
  89.     // j iterates through rgApplets[iApplet].rgptab. Usually they are
  90.     // identical, but if a tab is missing due to componentization
  91.     // then j may skip forward while i remains the same
  92.     for(i=0, j=0; j
  93.     {
  94.         DEBUGCHK(i<=j);
  95.         const CPLTABINFO* pCurrTab = rgApplets[iApplet].rgptab[j];
  96.         // create a CRunningTab object as our working space for this page
  97.         // allow indiv tabs to be omited (used by Backlight tab) if their wndproc is missing
  98.         // Only works for tabs at the end of the sequence, though
  99.         CRunningTab* pRunningTab = new CRunningTab(iApplet, j, &(rgPropPages[i]), pszPasswd); // freed at end of this fn
  100.         //Prefix
  101.         if(pRunningTab && !pRunningTab->m_pfnDlg) {
  102.             DEBUGMSG(ZONE_MAIN | ZONE_ERROR, (L"Applet %d, Tab %d missing\r\n", iApplet, j));
  103.             // free the object & continue at head of loop, trying next tab
  104.             delete pRunningTab;
  105.             continue;
  106.         }
  107.         
  108.         rgPropPages[i].dwSize = sizeof(PROPSHEETPAGE);
  109.         rgPropPages[i].dwFlags = PSP_USETITLE;
  110.         rgPropPages[i].hInstance = g_hInst;
  111.         rgPropPages[i].pszTemplate = MAKEINTRESOURCE(pCurrTab->iddDlg);
  112.         rgPropPages[i].pszIcon = NULL;
  113.         rgPropPages[i].pfnDlgProc = CplPageProc;
  114.         rgPropPages[i].pszTitle = CELOADSZ(pCurrTab->idsTitle);
  115.         rgPropPages[i].pfnCallback = NULL;
  116.         rgPropPages[i].lParam = (LPARAM)pRunningTab; // freed at end of this fn
  117.         i++;
  118.     }
  119.     // correct the number of pages & start tab if neccesary
  120.     nPages = i;
  121.     if(iSelectTab >= nPages)
  122.         iSelectTab=0;                       
  123.    
  124.     PropHdr.dwSize     = sizeof(PROPSHEETHEADER);
  125.     PropHdr.dwFlags    = PSH_PROPSHEETPAGE | PSH_USECALLBACK | PSH_USEICONID;
  126.     if(GetFileAttributes(PEGHELP_EXE) != -1)
  127.         PropHdr.dwFlags |= PSH_HASHELP;
  128.     if(g_fFullScreen)
  129.         PropHdr.dwFlags    = PropHdr.dwFlags | PSH_MAXIMIZE;
  130.     PropHdr.hwndParent = NULL;
  131.     PropHdr.hInstance  = g_hInst;
  132.     PropHdr.pszIcon    = MAKEINTRESOURCE(rgApplets[iApplet].rcidIcon);
  133.     PropHdr.pszCaption = CELOADSZ(rgApplets[iApplet].idsTitle);
  134.     PropHdr.nPages     = nPages;
  135.     PropHdr.nStartPage = iSelectTab;
  136.     PropHdr.ppsp       = rgPropPages;
  137.     PropHdr.pfnCallback = CplSheetCallback;
  138.    
  139.     LoadAygshellLibrary();
  140.     fRet = PropertySheet(&PropHdr);
  141.    
  142.     // free our CRunningTab objects
  143.     for(i=0;  i
  144.     {
  145.         DEBUGCHK(rgPropPages[i].lParam);
  146.         delete ((CRunningTab*)(rgPropPages[i].lParam));
  147.     }
  148.     MyFree(rgPropPages);
  149.     MyFree(pszPasswd);

  150.     FreeAygshellLibrary();
  151.     return fRet;
  152. }


这个函数是实现这些菜单的。先备份先,然后再编译吧。
点赞  2009-1-7 09:24
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复