我最近(今天)开始在Delphi中使用我的注册表进行meddeling.:)所有工作正常,我的自定义文件类型现在打开我的程序,但有2个问题,我无法解决.
1)我想要从所有文件类型"打开"的选项,所以我添加
reg := TRegistry.Create;
reg.RootKey := HKEY_CLASSES_ROOT;
reg.LazyWrite := false;
reg.OpenKey('*\OpenWithList\EncryptionSystem', true);
reg.WriteString('','C:\Program Files\EncryptionSystem\EncryptionSystem.exe "%1"');
reg.CloseKey;
reg.free;
Run Code Online (Sandbox Code Playgroud)
如果我使用regedit查看注册表,它肯定会出现,但是当我右键单击一个文件并选择打开它时它不存在...
所以我加了这个
reg.OpenKey('*\shell\Encrypt\command', true);
reg.WriteString('','C:\Program Files\EncryptionSystem\EncryptionSystem.exe "%1"');
reg.CloseKey;
Run Code Online (Sandbox Code Playgroud)
这适用于每个文件,但选项位于顶部,带有"打开"和"编辑".我有点希望它像大多数程序一样出现在菜单子部分中...我意识到我需要使用shellext但我不理解这些如何与上下文菜单处理程序一起工作的结构...我已经学会了所有无论如何我从阅读注册表...我知道shellext的名称出现在".*"后面,但至于大胡言乱语的含义我不知道.
我使用Shell扩展DLL(C++)创建了一个上下文菜单.当用户单击任何资源管理器文件夹时,将显示新创建的上下文菜单,其中包含子菜单.我想在子菜单之间添加一个行分隔符
我正在使用VBScript在excel上编写一些自动化代码。我MsgBox()在代码中有一个,并且正在寻找一种方法来关闭MsgBox()自动创建的弹出窗口,而无需人工干预。程序执行将从此处继续。
我有几个带有class ="big_square"的盒子它们都有ID,它们是通过一些Java调用Oracle DB来动态生成的,基于它来点击,我希望获得特定的元素ID并将其作为变量返回下一个电话
这是HTML:
<DIV style="DISPLAY: block" id=big_square_container>
<DIV id="2" class=big_square></DIV>
<DIV id="3" class=big_square></DIV>
<DIV id="4" class=big_square></DIV>
<DIV id="5" class=big_square></DIV>
<DIV id="6" class=big_square></DIV></DIV>
</DIV>
Run Code Online (Sandbox Code Playgroud)
和我试图找到ID的jquery:
$(".big_square").click(function(){
$(".big_square").animate({opacity: .4}, 'fast', 'linear', function() {
});
$(this).animate({opacity: 1}, 'fast', 'linear', function() {
});
var x = $(this).getElementbyID();
console.log(x);
response.setAttribute("x",x);
});
Run Code Online (Sandbox Code Playgroud)
我猜这个程序在我引用一个类时不知道"这个"是什么,但它仍然应该做一些事情,比如在每个.big_square上执行内部代码,似乎什么都没发生.任何帮助表示赞赏.
我有一些用于文件夹视图的Windows命名空间shell扩展.我想用它来与具有特定文件扩展名的文件进行用户交互.这些文件是由我的其他应用程序创建的.
如何在Windows注册表中正确注册它.我应该为我的扩展名和扩展名的CLSID或其他东西添加一些文件扩展名的密钥吗?
使用shell扩展dll,如果用户在文件夹空白区域内单击,如何捕获文件夹路径?
众所周知的DLLMain函数参数之一是LPVOID lpvReserved.从MSDN文档:
如果fdwReason是DLL_PROCESS_ATTACH,则对于动态加载,lpvReserved为NULL,对于静态加载,lpvReserved为非NULL.
但lpReserved真正意味着什么?指向somenthing的指针?
我创建了顶层窗口,但由于未知原因,我的WNDPROC没有收到WM_LBUTTONDOWN/WM_LBUTTONUP和WM_MOUSEMOVE消息.
有什么建议?
相关代码:
WNDCLASSEX wc = {0};
Wc.cbSize = 48;
Wc.cbWndExtra = 80;
Wc.hCursor = LoadCursorW(g_hInstance, MAKEINTRESOURCEW(1002));
Wc.style = CS_GLOBALCLASS | CS_DBLCLKS;
Wc.lpszClassName = Ici[dItemIndex].sInit;
Wc.lpfnWndProc = Ici[dItemIndex].wInit;
RegisterClassExW(&Wc);
g_hRuler1 = CreateWindowExW(WS_EX_TOOLWINDOW,
RULER_CONTROL,
L"",
WS_POPUP|WS_VISIBLE|0x1,
100 ,100, 40, RECTHEIGHT(g_rScreen),
NULL, NULL, hInst, NULL);
LRESULT WINAPI Ruler_Window(HWND hWindow, UINT uWindow, WPARAM wParam, LPARAM lParam)
{
if (uWindow == WM_GETMINMAXINFO)
{
goto DODEFAULT;
}
if (uWindow == WM_NCCREATE)
{
g_pGRI = RULER_ALLOCATE();
RULER_SET_POINTER(hWindow, (LONG_PTR)g_pGRI);
return 1L;
}
g_pGRI …Run Code Online (Sandbox Code Playgroud)