帮我看看我的服务程序哪出错了

zkhraul 2009-03-30 04:43:10
帮我看看我的服务示例程序哪出错了,为什么不会启动,我也用SamplePrivDeveloper.pfx签了名,生成的DLL有数字签名,名称为TEST USE ONLY - Sample Privileged Developer - Windows Mobile SDK
服务程序的签名也是用mapirule一样的签名方式吗?我的dll如果导出给我的程序用是可以的,求高人指点

按要求改写了注册表
// [HKEY_LOCAL_MACHINE\Services\MyService]
// "Dll"="MyService.dll"
// "Order"=dword:8
// "Keep"=dword:1
// "Prefix"="SRV"
// "Index"=dword:0
// "Context"=dword:0
// "DisplayName"="Sample Service"
// "Description"="This sample service makes your device beep about every 10 seconds."
服务函数的入口
MYSERVICE_API DWORD SRV_Init(DWORD dwData)
{
MessageBox(NULL,_T("ffff"),_T("ffff"),MB_OK);
MessageBeep(0xFFFFFFFF);
thread = CreateThread(NULL,0,MyControllingFunction,0,0,0);
return 1;
}
//Application specific stuff
//定时
void CALLBACK MyTimerProc(
HWND hWnd, // handle of CWnd that called SetTimer
UINT nMsg, // WM_TIMER
UINT nIDEvent, // timer identification
DWORD dwTime // system time
)
{
//Beep every time the timer is triggered.
MessageBeep(0xFFFFFFFF);
};

//
DWORD WINAPI MyControllingFunction( LPVOID pParam )
{

// This will call MyTimerProc about every seconds. It might take longer
// as services run in the background. In this specific case MyTimerProc will
// produce a beep about every ten seconds.
m_nTimer = SetTimer(0, 0,1000, MyTimerProc);

MSG msg;
while (GetMessage(&msg, 0, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
...全文
80 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
tober 2010-04-01
  • 打赏
  • 举报
回复
LZ你的问题解决了吗?我也遇到这问题。
cytlyy 2009-03-30
  • 打赏
  • 举报
回复
对,你可以我问一下。既然手机是他们做的,服务程序也是往他们生产的手机上用的,你可以问下。应该就清楚了。
zkhraul 2009-03-30
  • 打赏
  • 举报
回复
那意思就是我要找产商问问签名xxx_Init的xxx名称了??我们手机是托第三方公司做的,驱动他们写的
Kevenshao 2009-03-30
  • 打赏
  • 举报
回复
UP
cytlyy 2009-03-30
  • 打赏
  • 举报
回复
你怎们能用PEG呢,那是我们公司的,需要我们公司的签名。
zkhraul 2009-03-30
  • 打赏
  • 举报
回复
SRV和PRG都用过了,始终都开机启动没有任何提示,注册表是这样写的,是不是要和产商联系下呢,上次好像听他说有签名的工具
// [HKEY_LOCAL_MACHINE\Services\MyService]
// "Dll"="MyService.dll"
// "Order"=dword:8
// "Keep"=dword:1
// "Prefix"="SRV"
// "Index"=dword:0
// "Context"=dword:0
// "DisplayName"="Sample Service"
// "Description"="This sample service makes your device beep about every 10 seconds."
cytlyy 2009-03-30
  • 打赏
  • 举报
回复
SRV怎么可能水边定义呢!这是OEM厂商得系统得前三个字母。具体你可以看下MS关于SDK文档上面的说明。
”这是一个未知的应用程序“,这就对了那就说明你并没有签名,这样应用程序才会被提示,这是微软的安全机制。
没有经过签名得服务程序是不可能挂接到service上的(除非你用了一些特殊得手段)。
zkhraul 2009-03-30
  • 打赏
  • 举报
回复
用我的测试程序调用SRV_Init这个外部接口是会有“这是一个未知的应用程序的”,但供给系统服务程序是没有这消息,可能系统根本就没调用SRV_Init
SRV这不是可以随便定义的吗?我去实验下PRG看看,Orden用8、9都不可以
cytlyy 2009-03-30
  • 打赏
  • 举报
回复
SamplePrivDeveloper.pfx你用这个签名以后,在手机上安装CAB的时候有没有“这是一个未知的应用程序的”类似的提示。如果有,说明你没有签名(反正我不使用的这样的签名)。还有就是这个SRV这个头,不同OEM公司的不一样,我用的就是PRG.所以这个也有可能出错。还有就是Order这个值,我们这里必须用8,不知道你们公司。所以这些地方可能影响了你的服务程序。

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧