问题列表 - 第31032页

C# - 捕获来自特定应用程序的Windows消息

我正在编写一个C#应用程序,它需要拦截另一个应用程序发出的Window Messages.编写我正在监控的应用程序的公司给我发了一些示例代码,但它是用C++编写的,我真的不知道.

在C++示例代码中,我得到了他们使用以下代码:

 UINT uMsg = RegisterWindowMessage(SHOCK_MESSAGE_BROADCAST);
 ON_REGISTERED_MESSAGE(WM_SHOCK_BROADCAST_MESSAGE, OnShockStatusMessage)
 LRESULT OnShockStatusMessage(WPARAM wParam, LPARAM lParam);
Run Code Online (Sandbox Code Playgroud)

据我所知,这将从Windows中检索我们想要侦听的特定消息的Id.然后我们要求C++在拦截与Id匹配的消息时调用OnShockStatusMessage.

经过一番研究后,我在C#中整理了以下内容

[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

[DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
static extern uint RegisterWindowMessage(string lpString);

private IntPtr _hWnd; // APS-50 class reference
private List<IntPtr> _windowsMessages = new List<IntPtr>(); // APS-50 messages

private const string _className = "www.AuPix.com/SHOCK/MessageWindowClass";

// Windows Messages events
private const string _messageBroadcast = "www.AuPix.com/SHOCK/BROADCAST";
private const string _messageCallEvents …
Run Code Online (Sandbox Code Playgroud)

.net c# c++ mfc windows-messages

7
推荐指数
1
解决办法
2万
查看次数

gcc和turbo C的输出差异

为什么会出现在当代码使用两个编译器编译产生的输出的差值gccturbo c.

#include <stdio.h>

int main()
{    
    char *p = "I am a string";
    char *q = "I am a string";

    if(p==q)
    {
        printf("Optimized");
    }
    else{
        printf("Change your compiler");
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我得到"Optimized"gcc"Change your compiler"turbo c.为什么?

c c++ compiler-construction string optimization

14
推荐指数
4
解决办法
4327
查看次数

从 Widget AppWidgetProvider 内部访问布局项

我开始发疯试图弄清楚这一点。看起来应该很容易,我开始怀疑是否有可能。

我想要做的是创建一个主屏幕小部件,它只包含一个 ImageButton。当它被按下时,想法是改变一些设置(比如 wi-fi 切换),然后改变按钮图像。

我在 main.xml 中有这样声明的 ImageButton

<ImageButton android:id="@+id/buttonOne"
        android:src="@drawable/button_normal_ringer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" />
Run Code Online (Sandbox Code Playgroud)

我的 AppWidgetProvider 类,名为 ButtonWidget

*** 请注意, RemoteViews 类是本地存储的变量。这让我可以访问 RViews 布局元素......或者我是这么想的。

@Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager,
            int[] appWidgetIds) {

    remoteViews = new RemoteViews(context.getPackageName(),
            R.layout.main);

    Intent active = new Intent(context, ButtonWidget.class);
    active.setAction(VIBRATE_UPDATE);
    active.putExtra("msg","TESTING");
    PendingIntent actionPendingIntent = PendingIntent.getBroadcast(context,
            0, active, 0);
    remoteViews.setOnClickPendingIntent(R.id.buttonOne,
            actionPendingIntent);

    appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);


}

@Override
public void onReceive(Context context, Intent intent) {

    // v1.5 fix that doesn't call onDelete Action
    final String action …
Run Code Online (Sandbox Code Playgroud)

android android-widget

5
推荐指数
1
解决办法
5671
查看次数

如何更改Fluent Ribbon UI后台颜色

如何更改Fluent Ribbon UI后台菜单的颜色- 默认情况下为蓝色?

wpf ribbon fluent fluent-ribbon

2
推荐指数
1
解决办法
3131
查看次数

Windows服务启动导致Windows错误

我们编写了一个自定义Windows服务(VB.NET,.NET Framework 2.0),需要一段时间才能启动,因为它上传了销售.

Protected Overrides Sub OnStart(ByVal args() As String)
  -- upload sales here
End Sub
Run Code Online (Sandbox Code Playgroud)

启动它需要很长时间的事实很好,但是在Windows中会产生超时错误,并且启动的另一个程序不会添加到系统托盘中.

我们可以延迟销售上传,但宁愿让Windows忽略这个服务需要很长时间才能启动而不会产生错误的事实.有任何想法吗?

.net windows-services

0
推荐指数
1
解决办法
418
查看次数

Python中的最大递归级别

什么是最大递归级别,我如何在Python中更改它?

python recursion

27
推荐指数
2
解决办法
8713
查看次数

总是要避免尾递归函数吗?

如果我没记错的话,尾递归函数总是有一个简单的非递归等价.由于递归涉及不必要的函数调用开销,因此最好以非递归方式进行.

这种假设总是如此吗?是否还有其他参数支持/反对尾递归?

recursion performance tail-recursion

4
推荐指数
2
解决办法
938
查看次数

从哪里开始学习DB2编程?

我将在zOS上使用遗留DB2作为银行项目中的数据库.我精通Oracle编程.此外,我已经使用MySQL和SQL Server多年,但对DB2及其SQL方言和用于编写存储过程和函数的过程语言一无所知.

我正在寻找良好的资源来学习DB2架构+ SQL方言及其程序语言.

非常感谢你

db2

2
推荐指数
1
解决办法
5971
查看次数

WPF:应用程序空闲时间

我需要计算我的WPF应用程序的空闲时间(空闲时间=没有键盘输入,鼠标输入(移动+点击)).到目前为止,我尝试了两种方法,但似乎没有一种方法可行:

  1. 使用调度程序在每次获取contextIdle优先级时调用委托,问题是绑定和许多其他操作调用它,因此我无法真正使用它.
  2. 使用我注册到"System.Windows.Input.InputManager.Current.PostProcessInput"事件的输入管理器,每次调用它时,我重新启动空闲时间计数.第二种方法似乎很有希望,但问题是,当鼠标在应用程序上方(它有焦点)时,我不断得到这个事件.

还有其他想法吗?或者可能是修改第二个解决方案的方法?

c# wpf

10
推荐指数
2
解决办法
5612
查看次数

为什么IEquatable T在T#4.0中没有逆变?

IEquatable <T>可能已被声明为T中的逆变,因为它只在输入位置使用T(或者,等效地,U是T的子类型应该暗示IEquatable <T>是[IE]的一个子类型<U >).

那么,为什么BCL团队没有使用'in'关键字对它进行注释(针对C#4.0),就像他们使用许多其他通用接口(如完全类似的IComparable)一样?

c# c#-4.0

17
推荐指数
1
解决办法
712
查看次数