-1
私は次の三つの例でした:これはなぜ同じハンドル(CPPハンドル)の同じアドレスですか?
void main()
{
HANDLE A = ShellExecute(NULL, "open", R"(C:\Users\Gustabo\Desktop\noticed_files.txt)", "", "", SW_SHOW);
HANDLE B = ShellExecute(NULL, "open", R"(C:\Users\Gustabo\Desktop\clientserver.txt)", "", "", SW_SHOW);
HANDLE C = ShellExecute(NULL, "open", R"(C:\Users\Gustabo\Desktop\noticed_files.txt)", "", "", SW_SHOW);
std::cout << A << std::endl;
std::cout << B << std::endl;
std::cout << C << std::endl;
system("pause");
ExitProcess(0);
}
これは、3つの異なるハンドル(simmingly)です。 各HANDLEは、別のプロセスに通知します(しかし、それはありません)。
出力は:
0000002A
0000002A
0000002A
この3つのハンドルがそれぞれ1に別のアドレスを持っていけないのはなぜ?
'HANDLE'は標準のC++データ型ではなく、' ShellExecute() 'は標準のC++関数ではありません。 – Barmar
ハンドル全体が表示されていない可能性があります。暗黙的に不適切な型に変換されている可能性があります。 – Barmar
「0000002A」は、ユーザメモリ内の構造の可能性のあるアドレスのようには見えません。 – Barmar