我很好奇,系统范围的EventWaitHandle
的命名有什么限制吗?我想用一个URL作为一个的名称,但它可能有很多奇怪的字符,我不希望它默默地失败或其他类似的情况,所以只需在这里查看这些名称是否有任何已知的非法字符。
我试着自己找这个,但我的谷歌功夫不过关。
就在这里。请参阅CreateEvent函数文档。
名称可以有"Global\"或"Local\"前缀,以便在全局或会话命名空间中显式创建对象。名称的其余部分可以包含除反斜杠字符(\)之外的任何字符。
另请参见内核对象名称空间。
"会话\"前缀是为系统使用而保留的,您不应该在内核对象的名称中使用它。
这是错误的想法。到目前为止,您选择的名称最重要的功能是唯一。人们不善于取独特的名字,这个世界上有太多叫汉斯的人。
让机器来选择全局唯一的ID。您已经知道它是Guid了。在Visual Studio中,单击"工具"+"创建GUID"。项目符号#4就是你想要的,将它复制/粘贴到你的代码中,并在它周围加引号。前缀为Global\
,使其成为系统范围的。