[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Большой джо

    Joined:
    28 Jun 2009
    Messages:
    51
    Likes Received:
    2
    Reputations:
    0
    Такой вопрос, как установить DirectX SDK на Code::Blocks?)
     
  2. ZnikiR

    ZnikiR Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    21
    Reputations:
    -5
    Я так понимаю,что такие программы лучше всего на делфи писать?
    Или нет?
     
  3. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    #include <curl/curl.h>
     
  4. NetSter

    NetSter Moderator

    Joined:
    30 Jul 2007
    Messages:
    810
    Likes Received:
    414
    Reputations:
    62
    Для тех кто захочет заняться садомазо (как сейчас я))) и захочет написать в Visual Studio 2008 (C++) - чтоб не протрахались так как я в поисках нужных либ и инклудов, которых в студии нет.
    http://dump.ru/file/3831023
    в архиве
    GLAUX.LIB
    glaux.h

    лить соответственно

    C:\Program Files\Microsoft Visual Studio 9.0\VC\lib
    C:\Program Files\Microsoft Visual Studio 9.0\VC\include

    надеюсь хоть кому то сэкономит время)
     
    _________________________
    2 people like this.
  5. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Как проверить, существует ли пользователь (тот, под которым логинится в винду) в C++?
     
  6. bons

    bons Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    вот код на С, выводящий список учетных записей windows.
    Code:
    #include <stdio.h>
    #include <windows.h>
    #include <lm.h>
    
    void print_users(void)
    {
        unsigned long  i, dwERead, dwETotal, dwRes, res;
        char* p;
        PUSER_INFO_10 info;
        
        info = NULL;
        dwRes = 0;
        res = NetUserEnum(
    	NULL,
                10,
                FILTER_NORMAL_ACCOUNT,
                (LPBYTE*) &info,
                MAX_PREFERRED_LENGTH,
                &dwERead,
                &dwETotal,
                &dwRes
    	);
        
        if((res)||(!info))
        {
            fprintf(stderr, "NetUserEnum failedn");
            return;
        }
        p = (char*)info;
        for(i=0; i<dwERead; i++)
        {
            info = (PUSER_INFO_10)(p + i*sizeof(USER_INFO_10));
    		printf("%ls\r\n", info->usri10_name);
            
            
        }
        NetApiBufferFree(info);
        return;
    } 
    
    int main(void)
    {
    	print_users();
    	return 0;
    }
    
     
  7. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Повторюсь, мне надо, проверку на существование учетной записи.
     
  8. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 mailbrush ну а кто тебе не дает заюзать код выше для провеки что такой пользователь существует? Ты получаеш список пользователей, а затем смотриш, есть нужный там или нет.

    Если хочешь проверить еще и пароль, то просто запусти скрыто cmd.exe от имени этого пользователя, если запустился, то норм и прибей его.
     
  9. Chrek625

    Chrek625 Elder - Старейшина

    Joined:
    6 Jun 2006
    Messages:
    143
    Likes Received:
    13
    Reputations:
    -7
    Доброго времени суток.
    Подскажи как используя С++ можно работать с веб браузером? ну к примеру отловить определённый урл введённый пользователем или к примеру открытой страницы в браузере скопировать код страницы
     
    #4329 Chrek625, 26 Nov 2009
    Last edited: 26 Nov 2009
  10. cupper

    cupper Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    Если я вот так получаю значения из массива
    Code:
    unsigned long *my_descr = dpr.address + (vk_page >> 22);
    то вот так я это значение изменяю
    Code:
    *(dpr.address + (vk_page >> 22)) &= 42;
    верно ?
     
  11. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Как?
     
  12. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 mailbrush апишка есть CreateProcessWithLogonW и CreateProcessAsUser


    но есть еще один классный способ. Апишка LogonUser
    Чтобы твоё приложение временно получала SID пользователя и выполнялось уже от него. т.е. тебе даже не надо запускать ничего внешнего.

    P.S. но ты вот ленивое создание которому влом вбить в поисковике.
    Первая же ссылка по запросу "Как проверить правильность имени пользователя и пароля" ведет на сайт -
    http://www.rsdn.ru/article/qna/baseserv/winauth.xml
    где всё расписано
     
    #4332 slesh, 27 Nov 2009
    Last edited: 27 Nov 2009
  13. Drakon

    Drakon New Member

    Joined:
    17 Sep 2009
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    ребят, подскажите как на с++ преобразовать десятичное число в шестнатеричное?
     
  14. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    Code:
    int n = 354;
    printf("%X", n);
    
    =)
     
  15. Drakon

    Drakon New Member

    Joined:
    17 Sep 2009
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    спасибо
     
  16. Linkus

    Linkus Member

    Joined:
    20 Dec 2008
    Messages:
    168
    Likes Received:
    15
    Reputations:
    -1
    Можно например так:
    Code:
    #include  <sysutils.hpp>
    ...
            AnsiString HexNumber = IntToHex( int число  , int количество разрядов);
     
  17. transserg

    transserg Elder - Старейшина

    Joined:
    2 Jul 2008
    Messages:
    147
    Likes Received:
    25
    Reputations:
    2
    где может быть ошибка
    Code:
    #define WM_NOTIFYICONMSG (WM_USER + 2);
    
    LRESULT WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
    {
    	switch(msg)
    	{
    		case WM_NOTIFYICONMSG: // первая ошибка и вторая тут
    			switch(lParam)  
    				{ // тут третья
    					case WM_LBUTTONDBLCLK:
    						MessageBoxA(NULL, "Двойной щелчок по иконке", "Сообщение от иконки", MB_OK);
    						break;
    				}			
    		default:
    			return(DefWindowProc(hWnd, msg, wParam, lParam));
    	}
    	return 0;	
    }
    
    вижел студио ругается на
    Code:
    Ошибка	2	error C2143: синтаксическая ошибка: отсутствие ":" перед 
    Ошибка	3	error C2143: синтаксическая ошибка: отсутствие ";" перед 
    Ошибка	4	error C2143: синтаксическая ошибка: отсутствие ";" перед 
    
    
    помоему в синтаксисе все норма или я ошибаюсь?
     
  18. zythar

    zythar Elder - Старейшина

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    после define-а ";" ненадо
     
  19. transserg

    transserg Elder - Старейшина

    Joined:
    2 Jul 2008
    Messages:
    147
    Likes Received:
    25
    Reputations:
    2
    Code:
    #define WM_NOTIFYICONMSG (WM_USER + 2)[B];[/B]
    
    так есть точка запятой если сразу после него ставить то думаю это не правильно да и компилятор ругается на синтаксис тогда в дефайне
     
  20. POS_troi

    POS_troi Elder - Старейшина

    Joined:
    1 Dec 2006
    Messages:
    1,569
    Likes Received:
    466
    Reputations:
    108
    Code:
    #define WM_NOTIFYICONMSG (WM_USER + 2)
    В конце определения не должно быть ;
     
    1 person likes this.
Thread Status:
Not open for further replies.