Fethi Polat 1
Fethi Polat
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Best Studio 1
Best Studio
Agora Metin2 1
Agora Metin2
raderde 1
raderde
Cannn6161 1
Cannn6161
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Mt2Hizmet 1
Mt2Hizmet
melankolıa18 1
melankolıa18
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

[C++] Clientlerin (.exe) Üst Üste Binmesini Engellemek

  • Konuyu başlatan Konuyu başlatan MT2Dev
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 4
  • Görüntüleme Görüntüleme 884
  • Etiketler Etiketler
    c++ fix mt2dev
5.00 yıldız(lar) 1 Değerlendirme Değerlendirenler

MT2Dev

Cplusplus
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Fahri Üye
TM Üye
Katılım
30 Ocak 2020
Konular
50
Mesajlar
812
Çözüm
6
Online süresi
26d 15h
Reaksiyon Skoru
735
Altın Konu
1
Başarım Puanı
184
MmoLira
8,746
DevLira
123
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

GİRİŞ & PROBLEM

Merhaba, bir üyenin ricası ile clientlerin (.exe) görev çubuğunda üst üste binmesini engelleyip, tüm clientlerin ayrı ayrı açılmasıyla alakalı bir düzenleme yaptım, belki ihtiyacı olan vardır diye paylaşıyorum.

NELERİ DEĞİŞTİRDİK ?

Açılan her .exe için farklı bir ID oluşturarak işletim sisteminin bunları aynı uygulama olarak görmemesini sağlayacağız, bu benzersiz oluşturulan ID'ler sayesinde her .exe farklı olacak ve üst üste binmeyecek.

NASIL YAPILIR ?

Sadece tek bir dosyada değişiklik yapacağız, Client src/UserInterface içinden "UserInterface.cpp" dosyası açılır.


C++:
// In cludeların en sonuna eklenir;

// UNIQUE_CLIENT_ID
#include <shobjidl.h>
#include <sstream>
// END_OF_UNIQUE_CLIENT_ID

C++:
// BULUNUR;

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)


// ÜSTÜNE EKLENİR; (Dikkat, fonksiyonun dışına!)

// UNIQUE_CLIENT_ID
std::wstring GenerateAppUserModelID()
{
    std::wstringstream ss;
    ss << L"Metin2_" << GetCurrentProcessId();
    return ss.str();
}
// END_OF_UNIQUE_CLIENT_ID


// BULUNUR;

#ifdef _DEBUG
    _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_CHECK_CRT_DF | _CRTDBG_LEAK_CHECK_DF );
#endif


// ALTINA EKLENİR;

    // UNIQUE_CLIENT_ID
    std::wstring appUserModelID = GenerateAppUserModelID();
    SetCurrentProcessExplicitAppUserModelID (appUserModelID.c_str());
    // END_OF_UNIQUE_CLIENT_ID
 
GİRİŞ & PROBLEM

Merhaba, bir üyenin ricası ile clientlerin (.exe) görev çubuğunda üst üste binmesini engelleyip, tüm clientlerin ayrı ayrı açılmasıyla alakalı bir düzenleme yaptım, belki ihtiyacı olan vardır diye paylaşıyorum.

NELERİ DEĞİŞTİRDİK ?

Açılan her .exe için farklı bir ID oluşturarak işletim sisteminin bunları aynı uygulama olarak görmemesini sağlayacağız, bu benzersiz oluşturulan ID'ler sayesinde her .exe farklı olacak ve üst üste binmeyecek.

NASIL YAPILIR ?

Sadece tek bir dosyada değişiklik yapacağız, Client src/UserInterface içinden "UserInterface.cpp" dosyası açılır.


C++:
// In cludeların en sonuna eklenir;

// UNIQUE_CLIENT_ID
#include <shobjidl.h>
#include <sstream>
// END_OF_UNIQUE_CLIENT_ID

C++:
// BULUNUR;

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)


// ÜSTÜNE EKLENİR; (Dikkat, fonksiyonun dışına!)

// UNIQUE_CLIENT_ID
std::wstring GenerateAppUserModelID()
{
    std::wstringstream ss;
    ss << L"Metin2_" << GetCurrentProcessId();
    return ss.str();
}
// END_OF_UNIQUE_CLIENT_ID


// BULUNUR;

#ifdef _DEBUG
    _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_CHECK_CRT_DF | _CRTDBG_LEAK_CHECK_DF );
#endif


// ALTINA EKLENİR;

    // UNIQUE_CLIENT_ID
    std::wstring appUserModelID = GenerateAppUserModelID();
    SetCurrentProcessExplicitAppUserModelID (appUserModelID.c_str());
    // END_OF_UNIQUE_CLIENT_ID
Paylaşım için teşekkürler.
 
GİRİŞ & PROBLEM

Merhaba, bir üyenin ricası ile clientlerin (.exe) görev çubuğunda üst üste binmesini engelleyip, tüm clientlerin ayrı ayrı açılmasıyla alakalı bir düzenleme yaptım, belki ihtiyacı olan vardır diye paylaşıyorum.

NELERİ DEĞİŞTİRDİK ?

Açılan her .exe için farklı bir ID oluşturarak işletim sisteminin bunları aynı uygulama olarak görmemesini sağlayacağız, bu benzersiz oluşturulan ID'ler sayesinde her .exe farklı olacak ve üst üste binmeyecek.

NASIL YAPILIR ?

Sadece tek bir dosyada değişiklik yapacağız, Client src/UserInterface içinden "UserInterface.cpp" dosyası açılır.


C++:
// In cludeların en sonuna eklenir;

// UNIQUE_CLIENT_ID
#include <shobjidl.h>
#include <sstream>
// END_OF_UNIQUE_CLIENT_ID

C++:
// BULUNUR;

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)


// ÜSTÜNE EKLENİR; (Dikkat, fonksiyonun dışına!)

// UNIQUE_CLIENT_ID
std::wstring GenerateAppUserModelID()
{
    std::wstringstream ss;
    ss << L"Metin2_" << GetCurrentProcessId();
    return ss.str();
}
// END_OF_UNIQUE_CLIENT_ID


// BULUNUR;

#ifdef _DEBUG
    _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_CHECK_CRT_DF | _CRTDBG_LEAK_CHECK_DF );
#endif


// ALTINA EKLENİR;

    // UNIQUE_CLIENT_ID
    std::wstring appUserModelID = GenerateAppUserModelID();
    SetCurrentProcessExplicitAppUserModelID (appUserModelID.c_str());
    // END_OF_UNIQUE_CLIENT_ID
Paylaşım için teşekkürler.
 
Paylaşım için teşekkürler.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst