有没有办法用C#从另一个进程中删除关闭按钮? - c#

我使用C ++进行了尝试,似乎需要将代码注入另一个进程来禁用其主窗口的关闭按钮。但是我很好奇,因为我确实需要.NET程序使用它,我可以使用C#将其主窗口的关闭按钮涂成灰色吗?

PS。同样,我要做的过程不是我的。我可以这样找到它:

Process[] processes = Process.GetProcessesByName("Notepad");
foreach (Process p in processes)
{
    IntPtr pFoundWindow = p.MainWindowHandle;

    //Now how to disable it's close button?
}

参考方案

我想我明白了:

[DllImport("user32.dll")]
static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);

[DllImport("user32.dll")]
static extern bool DeleteMenu(IntPtr hMenu, uint uPosition, uint uFlags);


const uint SC_CLOSE = 0xF060;
const uint MF_BYCOMMAND = 0x00000000;

Process[] processes = Process.GetProcessesByName("Notepad");
foreach (Process p in processes)
{
    IntPtr pFoundWindow = p.MainWindowHandle;

    IntPtr nSysMenu = GetSystemMenu(pFoundWindow, false);
    if (nSysMenu != IntPtr.Zero)
    {
        if (DeleteMenu(nSysMenu, SC_CLOSE, MF_BYCOMMAND))
        {
            //Done!
        }
    }
}

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

java.net.URI.create异常 - java

java.net.URI.create("http://adserver.adtech.de/adlink|3.0") 抛出java.net.URISyntaxException: Illegal character in path at index 32: http://adserver.adtech.de/adlink|3.0 虽然n…

Mongo汇总 - javascript

我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …

ImageButton中的无效回发或回调参数 - c#

我的Click事件删除按钮(图像按钮)时遇到问题。我知道对此还有其他疑问,但是我什么都不懂!我不明白没有答案!我做了所有其他所有问题中指定的内容!此页面中使“重定向”到示例的其他事件效果很好!我很清楚?需要更多细节吗?堆栈跟踪或更多代码?错误是: 无效的回发或回调参数。使用配置或页面中的启用事件验证。为了安全起见,此功能验证回发或回调事件的参数源自最初呈现它…

在ASP.NET WebForms中在服务器端初始化bootsrap datatimepicker - javascript

我有这个HTML<div class='datepicker input-group date' id='datetimepickerStart'> <input type='text' class="form-control" /> <span c…