小编Har*_*san的帖子

捕获活动窗口更改事件的问题

我正在尝试捕获Window的活动窗口更改事件.假设用户正在使用VS并切换到IE,我想捕获此活动窗口更改事件.我在互联网上搜索并找到了很多例子,但似乎没有什么对我有用.

这是我到目前为止编写的代码,我不确定这有什么问题.我无法通过此捕获所需的事件

class Program
{
    delegate void WinEventDelegate(IntPtr hWinEventHook, uint eventType, IntPtr hwnd, int idObject, int idChild, uint dwEventThread, uint dwmsEventTime);

    [DllImport("user32.dll")]
    static extern IntPtr SetWinEventHook(uint eventMin, uint eventMax, IntPtr hmodWinEventProc, WinEventDelegate lpfnWinEventProc, uint idProcess, uint idThread, uint dwFlags);

    private const uint WINEVENT_OUTOFCONTEXT = 0;
    private const uint EVENT_SYSTEM_FOREGROUND = 3;

    static void Main(string[] args)
    {
        WinEventDelegate dele = new WinEventDelegate(WinEventProc);
        IntPtr m_hhook = SetWinEventHook(EVENT_SYSTEM_FOREGROUND, EVENT_SYSTEM_FOREGROUND, IntPtr.Zero, dele, 0, 0, WINEVENT_OUTOFCONTEXT);
        Console.ReadKey();
    }

    static void WinEventProc(IntPtr hWinEventHook, uint eventType, IntPtr …
Run Code Online (Sandbox Code Playgroud)

c# winapi

4
推荐指数
1
解决办法
2887
查看次数

在Android中正确旋转MapView的最简单方法?

我有一个Google Maps通过MapView控制和扩展显示的Android活动MapActivity.当我逐步旋转MapView使用方法mapView.setRotation(some Integer)而不是实际图像旋转时,整个控件旋转如下面的快照所示.旋转地图的最简单方法是使用Google地图的默认应用.

我正在使用最新的Map和Android API

在此输入图像描述

android rotation android-mapview

4
推荐指数
1
解决办法
2395
查看次数

为什么带有终结器的类需要多个垃圾回收周期?

这篇文章说

如果一个对象有一个终结器,当垃圾收集器决定它不再"活动"时,它不会被立即删除.相反,它在.NET调用终结器方法之前成为一种特殊的根.这意味着这些对象通常需要从内存中删除多个垃圾收集,因为它们将在第一次被发现未使用时存活.

我的问题是,当GC发现无法再引用对象并立即收集对象时,为什么不调用终结器?为什么它需要的不仅仅是垃圾收集?

c# garbage-collection

4
推荐指数
1
解决办法
291
查看次数

为什么后台线程不等待任务完成?

我正在玩C#的异步等待功能.当我使用UI线程时,事情按预期工作.但是当我在非UI线程中使用它时,它不能按预期工作.请考虑以下代码

private void Click_Button(object sender, RoutedEventArgs e)
    {
        var bg = new BackgroundWorker();
        bg.DoWork += BgDoWork;
        bg.RunWorkerCompleted += BgOnRunWorkerCompleted;
        bg.RunWorkerAsync();
    }

    private void BgOnRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs runWorkerCompletedEventArgs)
    {
    }

    private async void BgDoWork(object sender, DoWorkEventArgs doWorkEventArgs)
    {
        await Method();
    }


    private static async Task Method()
    {
        for (int i = int.MinValue; i < int.MaxValue; i++)
        {
            var http = new HttpClient();
            var tsk = await http.GetAsync("http://www.ebay.com");
        }
    }
Run Code Online (Sandbox Code Playgroud)

当我执行此代码时,后台线程不会等待长时间运行的任务Method完成.相反,它立即执行BgOnRunWorkerCompleted后调用Method.为什么会这样?我在这里错过了什么?

PS:我对其他方式或正确的方法不感兴趣.我想知道在这种情况下幕后实际发生了什么?为什么不等?

c# async-await

4
推荐指数
1
解决办法
1399
查看次数

之间的区别.和::在C++中为静态成员?

可能重复:
我何时使用点,箭头或双冒号来引用C++中的类成员?

当我尝试访问我的静态变量时,Class.Variable我得到了错误,Error left of 'Variable' must have class/struct/union当我这样做时,我没有Class::Variable得到任何错误.虽然在这两种情况下我都Variable通过智能感知.到底是什么之间的不同.::在这种情况下?

c++ static scope-resolution

3
推荐指数
1
解决办法
363
查看次数

android - 如何从应用程序注销

我的应用程序有5个活动(A1,A2,A3,A4,A5).每个活动都有一个文本视图和一个按钮(B1,B2,B3,B4,B5).如果单击该按钮,则转到下一个活动.假设你单击B1按钮然后它进入A2活动,并且每个活动还有一个菜单按钮(Logout),如果你单击该按钮,它将退出应用程序.但它没有用.在这里,我为每个活动调用使用以下代码.

清除堆栈

 Intent intent = new Intent(act1.this,act2.class);

    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    startActivity(intent); 
Run Code Online (Sandbox Code Playgroud)

在Logout按钮中单击监听器,我使用.完成当前活动.finish()因为我们很清楚堆栈使用FLAG_ACTIVITY_CLEAR_TOPnow stack只包含当前活动,这就是我刚刚完成当前活动的原因.但是如果你单击Logout按钮,它只会完成当前的动作.它不会退出应用程序.这里使用该语句清除或不清除堆栈FLAG_ACTIVITY_CLEAR_TOP.以下是我的代码可以任何人帮助我.

行动一

 public class logout extends Activity

    {

          TextView tv;

        Button next;

        public static final int logout_menu = Menu.FIRST+1;

        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);

            TextView tv = (TextView) findViewById(R.id.text);
            tv.setText("activity1");

            Button next = (Button) findViewById(R.id.button);
            next.setOnClickListener(nextListener);

        }

        private OnClickListener nextListener = new OnClickListener()
        {
            public void onClick(View v)
            {           
                try
                {                   
                    Intent …
Run Code Online (Sandbox Code Playgroud)

android

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

如何在Windows Phone中更改滑块控件的高度?

它必须简单,但我无法弄清楚.如何在Windows Phone中更改滑块控件的高度?无论我为Height它设定多大的值,它仍然保持不变

<Slider Width="100" Height="600" />
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

c# silverlight xaml windows-phone-7

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

在C或C++中使用#是什么意思?

我想知道在C或C++中#的用法.....请你告诉我#的目的是什么?或者为什么使用它?

c c++

0
推荐指数
2
解决办法
6314
查看次数