PsySpooky:@Mrs Manousopoulou
έκανα include windows.h
και έγραψα
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
BOOL WINAPI ExitWindowsEx(
UINT uFlags,
DWORD dwReason
);
BOOL result = ExitWindowsEx(EWX_SHUTDOWN, SHTDN_REASON_MAJOR_APPLICATION | SHTDN_REASON_MINOR_OTHER);
Ας πάρουμε τα πράγματα από την αρχή: η ExitWindowsEx είναι function του Win32 API. Για να την καλέσεις, πρέπει να έχεις στη διάθεσή σου τη δήλωσή της, για να την "μάθει" ο compiler. Αυτό το έκανες με το #include <windows.h>. Μετά την καλείς. Τέλος.
Εσύ μέσα στην button1_Click την ξαναδηλώνεις, με τον ίδιο τρόπο, λέγοντας στον compiler "κοίτα, έχω μια δική μου function που λέγεται ExitWindowsEx" και μετά την καλείς, γιατί αυτή που υπάρχει στο windows.h έχει "κρυφτεί". Ε μετά ο linker ψάχνει να τη βρει και βεβαίως δε τη βρίσκει!
Μέσα στην button1_Click αρκεί η κλήση result = ExitWindowsEx κλπ. Και βέβαια να ελέγχεις και τα return values και τα error codes .
Όπως είπε και ο Παναγιώτης, χρειάζεσαι αρκετό διάβασμα. Ίσως πρέπει να ξεκινήσεις από το The C Programming Language των Kernighan & Ritchie, γιατί τα κενά που έχεις είναι σε αυτό το επίπεδο.
Και μην ξεχνάς: δεν είναι κακό να είσαι πρωτάρης. Όλοι από κάπου ξεκινάνε. Αλλά χρειάζεται επιθυμία να μάθεις, και να μάθεις σε βάθος, και ειλικρινή και διαρκή προσπάθεια.
Νατάσα Μανουσοπούλου