小编use*_*747的帖子

使用QT C++编写跨平台手机应用程序的现实

我正在尝试继续开发智能手机的应用程序(我对Android有一点经验).我做了一些深入的研究,我决定开始在Qt C++中创建应用程序.

我这样做的原因是因为根据我的研究,我似乎可以在Qt编写一个应用程序,然后我要做的就是在iPhone,Android,Symbian和Windows Mobile上编译它然后我将有一个可以工作的应用程序在所有这些平台上.

我的问题是:我是否正确如果我在Qt C++中编写应用程序,那么它将适用于以下平台:Android,iPhone,Symbian和Windows Mobile?

我知道这是一个天真的问题("我可以使用什么API在所有平台上工作")但我已经研究了很多,他们似乎都说Qt可以在所有这些平台上运行.

PS,使用Qt编写跨平台手机应用程序是否有任何缺点?编译Qt应用程序代码难以在每个平台上进行吗?

c++ iphone qt android cross-platform

16
推荐指数
4
解决办法
6989
查看次数

什么是.NET与Windows内核/操作系统和其他操作系统的关系

我很困惑.NET究竟是什么.我是一名计算机科学专业的学生,​​他用C++完成了很多Win32(WinAPI)编程,并且非常了解Win32函数如何与COM和Windows内核本身进行交互.

但.NET在哪里适合所有这些?

  • 具体来说,如果Win32是用C编写的API,那么什么是.NET?它是用C编写的API吗?它只能在像Win32这样的Windows操作系统上运行吗?

  • .NET是否运行在Win32 API之上?例如,一个.NET函数showWindow()(显然我明白了)在后台调用Win32函数来显示窗口,还是直接调用内核来执行此操作?或者.NET是否像Java虚拟机一样?

  • .NET是否直接与Windows内核交互(如Win32)并与COM对象交互?.NET是否在沙箱中运行并且不允许某些操作系统访问某些操作系统区域?

  • 我可以使用Win32 API(如c/c ++,VB,Perl)编写不同语言的代码.我可以在.NET中编写哪些语言?

  • 这真的让我很难过.我听说用.NET编写的Web应用程序?什么,怎么样,哇?用什么语言写的?.NET是否运行在IE之上?.NET Web应用程序可以在Firefox或Safari(MacOS)上运行吗?像.NET applet这样的.NET Web应用程序,你是否也得到了.NET驱动程序.

.net c# c++ winapi

12
推荐指数
2
解决办法
2507
查看次数

将类成员函数作为函数参数传递

我有2个C++类问题:

第一个问题是:我怎么能这样做,所以我可以将类成员函数作为参数传递给另一个函数?如何运行/调用该函数?我怎么能用类静态函数做同样的事情.通过查看此代码可能更容易理解我的问题:

class DebuggingManager
{
    string testLog;

    bool test1()
    {
         // run test & return whether it passed or failed
    }    

    static bool test2()
    {

    }

    // How can I call a member function?
    void catalogueTest( string testName, bool DebuggingManager::*nMemberFunction )
    {
        testLog += "Status of " + testName + ": " + ((*)nMemberFunction()) + "\n"; 
    }

    // How can I call a static function?
    void catalogueTest( string testName, bool DebuggingManager::*nStaticFunction )
    {
        testLog += "Status of " + testName …
Run Code Online (Sandbox Code Playgroud)

c++ syntax

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

任何用户都可以访问%APPDATA%文件夹

任何用户都可以访问%APPDATA%文件夹吗?或者只有管理员才能读取和访问该目录?此外,访问此目录的权限在不同的Windows平台上是否有所不同,从2k到Windows 7?

windows

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

使用不同的类存储对象成员变量的引用

我正在尝试创建一个Container类,我可以通过使用该对象成员变量作为其标识符从容器中检索对象.但我得到一个编译错误,因为我试图存储指针(?)/引用对象成员变量

template <typename Object>
class Container
{
     private:
         template <typename dataType>
         dataType Object::* memberVariable; //  error here "data member 'memberVariable' cannot be a member template"

         template <typename dataType>
         std::map <dataType, Object*>     instanceVarMap;  // what would be more efficient; a Map or unordered_map? I heard that 
         std::map <unsigned int, Object*> instanceIntMap;  // ...unordered_maps use more memory & Maps are better when integers are the keys

    public;
        template <typename dataType>
        Collection( dataType Object::*nMemberVariable )
        {
            memberVariable = nMemberVariable;
        }

        template <typename …
Run Code Online (Sandbox Code Playgroud)

c++ templates

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

使Win32应用程序在ANSI和UNICODE上运行

我想让我的Win32 C++应用程序能够在任何编码版本(UNICODE和ANSI)上播放.现在我有点困惑的是两个(或更多?)编码之间到底有什么区别?

为了使我的Win32应用程序交叉编码兼容,这意味着我必须通过我的代码并用std :: wstring替换每个std :: string,然后用 wchar_t*替换每个char,然后替换每个文字字符串("")用L""?

如果我的应用程序在UNICODE机器上运行并且我的应用程序中有一个std :: string会发生什么?

对于我的应用程序交叉编码兼容所需的步骤,您有什么建议吗?例如: - 将所有c_strings和字符串更改为其UNICODE等效项 - 将任何Win32函数更改为uncide版本(例如,从getenv()更改为_wgetenv())

c++ winapi encoding

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

区别:环境变量和注册表项

注册表项和环境变量有什么区别?

我认为环境变量只能在 Windows 操作系统中找到?我听说改变这些很容易,所以相信它们不好?注册表项是否很容易更改?

注册表项是否存储在内核中?

我最重要的问题是:我知道环境变量让我知道%APPDATA的路径、当前用户名、程序文件的路径、运行的Windows操作系统的版本等。但是注册表项也包含这种类型吗?数据 - 我也可以通过查看注册表项找到此信息吗?

c++ registry winapi posix environment-variables

6
推荐指数
2
解决办法
4001
查看次数

有效地列出目录中的所有子目录

请参阅编辑,并提供迄今为止的建议......

我试图使用WinAPI和C++列出给定目录中的所有目录(文件夹).

现在我的算法速度慢且效率低:
- 使用FindFirstFileEx()打开我正在搜索的文件夹
- 然后查看目录中的每个文件(使用FindNextFile()); 如果它是一个目录文件,那么我将其绝对路径存储在一个向量中,如果它只是一个文件我什么也不做.

这看起来非常低效,因为我正在查看目录中的每个文件.

  • 是否有一个我可以使用的WinAPI函数会告诉我给定目录中的所有子目录?
  • 您知道我可以使用哪种算法有效地定位和识别目录(文件夹)中的文件夹吗?

编辑: 所以在采取了我使用FindExSearchLimitToDirectories搜索的建议后,但对我来说它仍然打印出所有文件(.txt等)而不仅仅是文件夹.难道我做错了什么?

WIN32_FIND_DATA dirData;
HANDLE dir = FindFirstFileEx( "c:/users/soribo/desktop\\*", FindExInfoStandard, &dirData, 
                              FindExSearchLimitToDirectories, NULL, 0 );

while ( FindNextFile( dir, &dirData ) != 0 )
{
    printf( "FileName: %s\n", dirData.cFileName );
}
Run Code Online (Sandbox Code Playgroud)

c++ algorithm winapi file

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

检测鼠标何时离开我的应用程序

您好,我正在 win32 中创建一个应用程序,无论鼠标位于何处(在我的应用程序客户端/NC 区域内和外部),它都会显示鼠标的 x、y 位置(在屏幕坐标中)。

我正处于想要检测鼠标何时完全离开我的应用程序的阶段。我编写了一个简单的 win32 应用程序,它应该在鼠标离开我的应用程序时检测并通知自己,但它不起作用,我从未收到消息 WM_MOUSELEAVE 和 WM_NCMOUSELEAVE。

你觉得哪里不对?我是否使用了错误的 win32 函数?

// Track Mouse.cpp : Defines the entry point for the application.
//

#include "stdafx.h"
#include <windows.h>
#include <vector>
#include <string>
#include <cstdlib>

static HINSTANCE gInstance;


// Globals //
enum   MouseStatus { DEFAULT = 50001, LEFT_CLIENT, LEFT_NCLIENT }; 
static MouseStatus mouseState = DEFAULT;
static COLORREF    bkCol      = RGB(0,255,255);

// Functions List //

BOOL TrackMouse( HWND hwnd )
{
    // Post:

    TRACKMOUSEEVENT mouseEvt;
    ZeroMemory( &mouseEvt, sizeof(TRACKMOUSEEVENT) ); …
Run Code Online (Sandbox Code Playgroud)

c++ winapi

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

这个MSVC++编译错误意味着什么

我有这个编译错误,我不明白什么是错的.我的Microsoft Visual Studio项目是一个Win32项目(而不是控制台):

1>MSVCRT.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16
1>C:\Users\Soribo\Desktop\C++ Programming\Visual C++ Programming\KeyboardHook\Release\KeyboardHook.exe : fatal error LNK1120: 1 unresolved externals
Run Code Online (Sandbox Code Playgroud)

编辑:将#include"stdafx.h"作为第1行后编译错误是:

1>MSVCRT.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16
1>C:\Users\Soribo\Desktop\C++ Programming\Visual C++ Programming\KeyboardHook\Release\KeyboardHook.exe : fatal error LNK1120: 1 unresolved externals
Run Code Online (Sandbox Code Playgroud)

编辑:嗯,我已经定义了WinMain功能有没有我?见下面的代码:

/*
  Application: 
*/

#include <windows.h>
#include <cstdlib>
#include "stdafx.h"

using namespace std;

static HHOOK     keyboardHook;
static HINSTANCE gInstance;


// Functions List //
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK LowLevelKeyboardProc( int nCode, …
Run Code Online (Sandbox Code Playgroud)

c++ winapi visual-c++

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