小编Aja*_*jay的帖子

如何使用win32读取和写入扩展的Windows文件属性

我想在Windows文件中嵌入一些元数据.

我遇到了扩展文件属性的概念,我认为这是用于此目的.例如,jpgs中的摄像机名称,avis中的剧集名称.

除了一些非常模糊的非文档内核API,我无法使用win32 api在c/c ++中找到如何做到这一点.

有没有人这样做过?

提前致谢.

c winapi

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

C#如何将long类型数组写入二进制文件

我有一个long阵列.如何将此数组写入二进制文件?问题是,如果我将其转换为byte数组,则会更改某些值.

数组如下:

long array = new long[160000];
Run Code Online (Sandbox Code Playgroud)

提供一些代码段.

c# arrays binaryfiles

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

枚举数据类型

enum关键字有什么用?我们在哪里可以使用枚举数据类型?有谁可以用一个例子解释一下?

c enums

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

有没有办法让c ++控制台文本更大?

我正在制作一个随机数生成器,程序将创建几个随机数,然后从这些随机数中选择,然后在窗口中显示该数字.

我想知道是否有办法让那段特定的文字更大?我不想改变窗口中所有文本的大小,因为我在窗口中写道,我不想改变大小

谢谢你提供的所有帮助

c++ windows console user-interface

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

如何在c#上创建对象Threadsafe?

我有一个在大多数情况下需要线程的应用程序.大多数情况下,我会遇到错误或错误的值,因为对象在每个线程执行之前都已更新.

您是否有任何建议如何使对象是线程安全的并确保对象具有正确的每个线程?我应该制作我的变量static吗?

.net c# thread-safety

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

CreateNamedPipe ERROR_INVALID_NAME

代码段:

void RunThread(void* unused_args)
{
    PSECURITY_DESCRIPTOR sdsc;
    ULONG size;
    ConvertStringSecurityDescriptorToSecurityDescriptor("S:(ML;;NW;;;LW)", SDDL_REVISION_1, &sdsc, &size);
    SECURITY_ATTRIBUTES sa;
    sa.nLength = sizeof(sa);
    sa.bInheritHandle = false;
    sa.lpSecurityDescriptor = sdsc;
    HANDLE pipe = CreateNamedPipe("\\.\pipe\mmaivpc_test_pipe", PIPE_ACCESS_DUPLEX, PIPE_TYPE_BYTE, 255, 1024, 1024, 0, &sa);
    DWORD error = GetLastError();
}
Run Code Online (Sandbox Code Playgroud)

如果你还没有从函数名中找到它,那么这个函数就会被调用_beginthread. GetLastError()正在回归ERROR_INVALID_NAME,我无法弄清楚为什么.

winapi multithreading named-pipes visual-c++

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

指针的大小

int i=0;
int *p = &i;
std::cout<<sizeof(i)<<" vs "<<sizeof(p)<<"\n";

char c='0';
char*pc = &c;
std::cout<<sizeof(c)<<" vs "<<sizeof(pc)<<"\n";

double d=0.123456789;
double *pd = &d;
std::cout<<sizeof(d)<<" vs "<<sizeof(pd)<<"\n";
Run Code Online (Sandbox Code Playgroud)

为什么指针的大小总是等于4的整数?

c++ sizeof

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

如何从对象获取stl容器的类型?

如何从对象中获取STL容器的类型?例如,我有一个container变量,我知道它是std::vector<some type>.我需要使用迭代器迭代容器.有没有办法在不知道容器类型的情况下声明迭代器?

我当然可以从代码中获取类型,但我很乐意在不使用类型的情况下完成它.我也不是在使用C++ 11.

c++ stl

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

WaitForInputIdle不能以编程方式启动mspaint

我正在尝试打开"mspaint"并在初始化之后立即找到它的句柄.但FindWindow回报NULL,如果我打电话WaitForInputIdle.如果我尝试使用Sleep(1000)它的功能.但我不认为这是等待程序准备就绪的正确方法.这个代码有解决方案吗?

    CString strWindowDirectory;
    GetSystemDirectory(strWindowDirectory.GetBuffer(MAX_PATH), MAX_PATH);
    SHELLEXECUTEINFO sei = { 0 };
    sei.cbSize = sizeof(SHELLEXECUTEINFO);
    sei.fMask =  SEE_MASK_NOCLOSEPROCESS;
    sei.lpVerb = L"open";
    sei.lpFile = L"mspaint";
    sei.lpDirectory = strWindowDirectory;
    sei.nShow = SW_SHOWNORMAL;

    HWND    hPaint = NULL;
    if(ShellExecuteEx(&sei))
    {
        int r = ::WaitForInputIdle(sei.hProcess, INFINITE);
        ATLTRACE(L"WaitForInputIdle %d\n", r);

        if (sei.hProcess == NULL)       return;

        hPaint = ::FindWindow(L"MSPaintApp", NULL); 

        ATLTRACE(L"Handle %d\n", hPaint);
        if (!hPaint) return;
    }
    else
    {
        MessageBox(L"Couldn't find mspaint program");
        return;
    }
Run Code Online (Sandbox Code Playgroud)

c++ winapi mfc atl

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

为什么Java平台是独立的?

当我使用C++程序时,我需要Turbo C编译器;当我有一个Java程序时,我需要有JVM。C++ 仍然不是平台无关的,但 Java 是!如果任何 Java 程序都需要运行 JVM 才能执行,为什么 Java 被称为平台无关的呢?

c++ java jvm

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