purebasic.info

PureBasic forum
Текущее время: Вт дек 11, 2018 12:18 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 12, 2012 4:18 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11336
Благодарил (а): 4 раз.
Поблагодарили: 443 раз.
kvitaliy писал(а):
GetCD_Geometry
Это у нас что?

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 12, 2012 4:49 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6412
Благодарил (а): 21 раз.
Поблагодарили: 200 раз.
Пункты репутации: 52
Пётр писал(а):
Это у нас что?

Это
Procedure.b GetCD_Geometry(drive.s)
постом выше смотри

_________________
read-only ¯\_(ツ)_/¯


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт июн 01, 2012 8:31 am 
Не в сети
профессор

Зарегистрирован: Ср янв 14, 2009 4:12 pm
Сообщений: 2002
Благодарил (а): 12 раз.
Поблагодарили: 101 раз.
Пункты репутации: 43
Че то никто советами не делится, поделюсь я :wink:
Как расшарить папку
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
; http://www.delphimaster.ru/articles/netmon/#closeres
#NERR_SUCCESS        = 0
#NERR_DuplicateShare = $846
;типы шар
#STYPE_DISKTREE = 0
#STYPE_PRINTQ   = 1
#STYPE_DEVICE   = 2
#STYPE_IPC      = 3
#STYPE_SPECIAL  = $80000000
;разрешения
#ACCESS_READ    = $1
#ACCESS_WRITE   = $2
#ACCESS_CREATE  = $4
#ACCESS_EXEC    = $8
#ACCESS_DELETE  = $10
#ACCESS_ATRIB   = $20
#ACCESS_PERM    = $40
#ACCESS_ALL     = $7F
 
Structure SHARE_INFO_2
  shi2_netname.l
  shi2_type.l
  shi2_remark.l
  shi2_permissions.l
  shi2_max_uses.l
  shi2_current_uses.l
  shi2_path.l
  shi2_passwd.l
EndStructure
 
Procedure.l Ansi2Unicode(string.s)
   *|/2/>out = AllocateMemory(Len(string)*4)
   MultiByteToWideChar_(#CP_ACP, 0, string, -1, *|/2/>out, Len(string))
   ProcedureReturn *|/2/>out
EndProcedure
 
Procedure ShareAdd(Name.s, NetName.s, remark.s, pass.s)
Protected inf.SHARE_INFO_2
With inf
   \shi2_netname = Ansi2Unicode(NetName)  ; ОБЯЗАТЕЛЬНО Unicode, иначе работать не будет...
   \shi2_type = #STYPE_DISKTREE
   \shi2_remark = @remark
   \shi2_permissions = #ACCESS_ALL
   \shi2_max_uses = -1
   \shi2_path = Ansi2Unicode(Name)        ; ОБЯЗАТЕЛЬНО Unicode, иначе работать не будет
   \shi2_passwd = @pass
EndWith
  ProcedureReturn NetShareAdd_(#Null, 2, inf, @err)
EndProcedure
 
res = ShareAdd("C:\", "Disk C", "", "")  ; Расшариваем ресурс
 
Select  res
  Case #NERR_SUCCESS
    MessageRequester("Ахтунг", "Шара удачно создана!", #MB_OK|#MB_ICONINFORMATION)
  Case #NERR_DuplicateShare  
    MessageRequester("Ахтунг", "Такое сетевое имя уже существует", #MB_OK|#MB_ICONINFORMATION)
  Default  
    MessageRequester("Ахтунг", "Не могу создать шару", #MB_OK|#MB_ICONINFORMATION)
EndSelect    
;***********************************************************************************************
res = NetShareDel_(#Null, Ansi2Unicode("Disk C"), 0)  ; Удаляем шару. Здесь пишем не путь, а имя расшаренного ресурса
 


_________________
Всё должно быть просто, настолько просто, насколько возможно, но не проще. (c) Альберт Эйнштейн
Изображение


Последний раз редактировалось pablov Пт июн 01, 2012 6:22 pm, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт июн 01, 2012 1:46 pm 
Не в сети
профессор

Зарегистрирован: Ср янв 14, 2009 4:12 pm
Сообщений: 2002
Благодарил (а): 12 раз.
Поблагодарили: 101 раз.
Пункты репутации: 43
У буржуев нашел кульный мессагабокс
Изображение
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
; В реестре  HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\DontShowMe\ 
; Находится ключ из примера: "Pure_Beginner_OnlyOneString"
; Чтобы отменить, удалите этот ключ!
Prototype SHMessageBoxCheck(hWnd, Text.s, Caption.s, uType, iDefault, RegVal.s)
 
Procedure MessageRequesterCheck(Titel.s, Text.s, RegVal.s, Flags = 0)
  Protected hDLL = OpenLibrary(#PB_Any, "Shlwapi.dll")
  Protected SHMessageBoxCheck.SHMessageBoxCheck
  Protected result
 
  CompilerIf #PB_Compiler_Unicode
    SHMessageBoxCheck = GetFunctionEntry(hDLL, 191)
  CompilerElse
    SHMessageBoxCheck = GetFunctionEntry(hDLL, 185)
  CompilerEndIf
  If SHMessageBoxCheck
    result = SHMessageBoxCheck(0, Text, Titel, Flags, #PB_Ignore, RegVal)
  Else
    result = MessageRequester(Text, Titel, Flags)
  EndIf
  CloseLibrary(hDLL)
  ProcedureReturn result
EndProcedure
 
OpenWindow(0, #PB_Ignore, #PB_Ignore, 640, 480, "bla")
Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      Select MessageRequesterCheck("Позвольте полюбопытствовать:", "Вы действительно хотите закрыть окно " + #LF$ + "или желаете работать дальше?", "Pure_Beginner_OnlyOneString", #PB_MessageRequester_YesNo)
        Case #PB_MessageRequester_Yes, #PB_Ignore
          Break
      EndSelect
  EndSelect
ForEver


_________________
Всё должно быть просто, настолько просто, насколько возможно, но не проще. (c) Альберт Эйнштейн
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт июн 01, 2012 2:28 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
pablov, спасибо

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт июн 01, 2012 2:42 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11336
Благодарил (а): 4 раз.
Поблагодарили: 443 раз.
Доступ к функции по индексу....
А где гарантия что во всех виндах он будет одинаков?

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт июн 01, 2012 5:34 pm 
Не в сети
профессор

Зарегистрирован: Ср янв 14, 2009 4:12 pm
Сообщений: 2002
Благодарил (а): 12 раз.
Поблагодарили: 101 раз.
Пункты репутации: 43
Пётр писал(а):
Доступ к функции по индексу....
А где гарантия что во всех виндах он будет одинаков?

В win XP эти функции экспортируются только по ординалу (индексу)
В win 7 экспортируются и по имени и по ординалу. С XP ординалы совпадают.

_________________
Всё должно быть просто, настолько просто, насколько возможно, но не проще. (c) Альберт Эйнштейн
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт июн 01, 2012 6:50 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
вот как выглядит это в windows 7:

Изображение

P.S Хотя не обязательно разбивать текст на две строки, вроде винда в мессагах это делает сама. В Windows 7 без разделения строк это выглядит куда опрятнее.

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт июн 01, 2012 10:04 pm 
Не в сети
профессор

Зарегистрирован: Ср янв 14, 2009 4:12 pm
Сообщений: 2002
Благодарил (а): 12 раз.
Поблагодарили: 101 раз.
Пункты репутации: 43
Никита Однороб писал(а):
вроде винда в мессагах это делает сама.

Вроде, да кабы. Никита, перед тем как писАть на форум, возьми и проверь. И будешь писАть в утвердительных тонах и народ к тебе потянется :D

_________________
Всё должно быть просто, настолько просто, насколько возможно, но не проще. (c) Альберт Эйнштейн
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 11, 2012 5:11 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11336
Благодарил (а): 4 раз.
Поблагодарили: 443 раз.
Может кому-то пригодится при переписывании программы с C++ на пурик. http://www.vsokovikov.narod.ru/New_MSDN ... indows.htm

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 11, 2012 7:09 pm 
Не в сети
профессор

Зарегистрирован: Пт фев 20, 2009 12:57 pm
Сообщений: 1717
Откуда: Алматы
Благодарил (а): 16 раз.
Поблагодарили: 47 раз.
Пункты репутации: 5
а это переписать можно?
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
void certImport(wchar_t *filename, wchar_t *password)
{
    HANDLE hfile = INVALID_HANDLE_VALUE;
    HANDLE hsection = 0;
    void* pfx = 0;
    HCERTSTORE rootStore = 0;
 
    hfile = CreateFile(filename, FILE_READ_DATA, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);
    if (INVALID_HANDLE_VALUE == hfile) wprintf(L"CreateFile failed !\n");
 
    hsection = CreateFileMapping(hfile, 0, PAGE_READONLY, 0, 0, 0);
    if (!hsection) {
        wprintf(L"CreateFileMapping failed !\n");
        goto cleanup;
    }
 
    pfx = MapViewOfFile(hsection, FILE_MAP_READ, 0, 0, 0);
    if (!pfx) {
        wprintf(L"MapViewOfFile failed !\n");
        goto cleanup;
    }
 
    CRYPT_DATA_BLOB blob;
    blob.cbData = GetFileSize(hfile, 0);
    blob.pbData = (BYTE*)pfx;
   
    PCCERT_CONTEXT pctx;
    pctx = CertCreateCertificateContext(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,blob.pbData,blob.cbData);
 
    rootStore = CertOpenStore(    CERT_STORE_PROV_SYSTEM, 0, 0,
                                CERT_STORE_OPEN_EXISTING_FLAG | CERT_SYSTEM_STORE_LOCAL_MACHINE,
                                L"Root");
    if (!rootStore ) {
        wprintf(L"CertOpenSystemStore Root failed !\n");
        goto cleanup;
    }
 
    if (CertAddCertificateContextToStore(rootStore, pctx, CERT_STORE_ADD_NEW, 0)) {
        wprintf(L"Import succeeded.\n");
        goto cleanup;
    }
 
cleanup:
   if (pfx) UnmapViewOfFile(pfx);
    if (hsection) CloseHandle(hsection);
    if (INVALID_HANDLE_VALUE != hfile) CloseHandle(hfile);
}



Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 11, 2012 7:58 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11336
Благодарил (а): 4 раз.
Поблагодарили: 443 раз.
SereZa писал(а):
а это переписать можно
Можно, я разрешаю. :D :D
Соответствие всяких там HANDLE, HCERTSTORE и др. "хитрых" типов, есть по вышеуказанной ссылке.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн июн 11, 2012 8:56 pm 
Не в сети
профессор

Зарегистрирован: Пт фев 20, 2009 12:57 pm
Сообщений: 1717
Откуда: Алматы
Благодарил (а): 16 раз.
Поблагодарили: 47 раз.
Пункты репутации: 5
угу... еще бы понимать что там написано...


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт июн 22, 2012 9:08 am 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Изменить User-Agent WebGadget() и всех сетевых функций
Код:
1
2
UserAgent$ = "Browser"
UrlMkSetSessionOption_(#URLMON_OPTION_USERAGENT, @UserAgent$, Len(UserAgent$), 0)

. Список User-Agent'ов (чтобы, например, подделать браузер), здесь: http://ru.wikipedia.org/wiki/User_Agent#.D0.91.D1.80.D0.B0.D1.83.D0.B7.D0.B5.D1.80.D1.8B

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт июл 19, 2012 11:03 am 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Отобразить значок UAC (щит) на кнопке:
Код:
1
2
3
4
5
6
#BCM_FIRST = $001600
#BCM_SETSHIELD = #BCM_FIRST + 12
OpenWindow(1,5,5,400,400,"")
ButtonGadget(1,5,5,200,50,"Text")
SendMessage_(GadgetID(1),#BCM_SETSHIELD,0,1)
Repeat:Until WaitWindowEvent() = #PB_Event_CloseWindow


_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB