Admin or not

BlitzPlus Forums/BlitzPlus Programming/Admin or not

I am trying to create a very simple (in theory) program. All I want it to do is check if the person logged onto the computer is an administrator or not. If their not then display a message, and if they are open a program. Can anyone help?

Thanks

Matt

You can't do this in Blitz. You can create a vbscript for it though...

Actually, the following code will do exactly that:

If CallDLL("shell32.dll","IsUserAnAdmin") Then 
Notify "User is Administrator"
;file operation code in here 
Else 
RuntimeError "You need to do this from an admin account!" 
EndIf 


courtesy of Electronin, posted a while back in the following thread: http://www.blitzbasic.com/Community/posts.php?topic=31698

Now that is pretty cool, and a very good tip! Thanks xlsior. Is there a list of more functions in that DLL?
Before runnning this code, the program should ofcourse check on which OS it is running.

From version 6.0.2800.1233 of shell32.dll:

Dump of file c:\windows\system32\shell32.dll

File Type: DLL

  Section contains the following exports for SHELL32.dll

    00000000 characteristics
    3DE262EA time date stamp Mon Nov 25 09:50:34 2002
        0.00 version
           2 ordinal base
         755 number of functions
         308 number of names

    ordinal hint RVA      name

        104    0 00062C8D Activate_RunDLL
        105    1 0006D884 AppCompat_RunDLLW
        700    2 00070523 CDefFolderMenu_Create
        701    3 000705BB CDefFolderMenu_Create2
        166    4 000527CC CallCPLEntry16
        106    5 0005051A CheckEscapesA
        107    6 00050479 CheckEscapesW
        108    7 0005071D CommandLineToArgvW
        109    8 0004581D Control_FillCache_RunDLL
        110    9 0004581D Control_FillCache_RunDLLA
        111    A 00045905 Control_FillCache_RunDLLW
        112    B 000456ED Control_RunDLL
        113    C 000456ED Control_RunDLLA
        114    D 00045763 Control_RunDLLAsUserW
        115    E 00045728 Control_RunDLLW
        129    F 0007D3AC DAD_AutoScroll
        131   10 0008B27B DAD_DragEnterEx
         22   11 0008B229 DAD_DragEnterEx2
        132   12 0008B38A DAD_DragLeave
        134   13 0008B2C5 DAD_DragMove
        136   14 0008B2FC DAD_SetDragImage
        137   15 0008B1C7 DAD_ShowDragImage
        116   16 001402D8 DllCanUnloadNow
        117   17 0003C02E DllGetClassObject
        118   18 001767CA DllGetVersion
        120   19 0008E9B4 DllInstall
        124   1A 0009BFF0 DllRegisterServer
        125   1B 0009BFF0 DllUnregisterServer
        133   1C 000470B8 DoEnvironmentSubstA
        135   1D 0004710F DoEnvironmentSubstW
        138   1E 0004D152 DragAcceptFiles
        139   1F 0004D14C DragFinish
        140   20 0004D130 DragQueryFile
        141   21 0004D130 DragQueryFileA
        142   22 0004CF17 DragQueryFileAorW
        143   23 0004D114 DragQueryFileW
        144   24 0004CEC2 DragQueryPoint
         64   25 0008ECE8 DriveType
        150   26 00046386 DuplicateIcon
        199   27 0004701E ExtractAssociatedIconA
        206   28 00046D76 ExtractAssociatedIconExA
        207   29 00046C18 ExtractAssociatedIconExW
        208   2A 00046E67 ExtractAssociatedIconW
        216   2B 00046EBE ExtractIconA
        217   2C 000460C9 ExtractIconEx
        218   2D 000460C9 ExtractIconExA
        219   2E 000460BF ExtractIconExW
        220   2F 00046BB3 ExtractIconResInfoA
        221   30 000467C0 ExtractIconResInfoW
        222   31 00046E13 ExtractIconW
        223   32 00046613 ExtractVersionResource16W
        224   33 000CC900 FindExeDlgProc
        225   34 00093763 FindExecutableA
        226   35 00093672 FindExecutableW
        227   36 00046538 FreeIconList
         63   37 000952E5 GetFileNameFromBrowse
        154   38 00095F31 ILAppendID
         18   39 00095FF7 ILClone
         19   3A 00096078 ILCloneFirst
         25   3B 00096135 ILCombine
        157   3C 00096903 ILCreateFromPath
        189   3D 00096920 ILCreateFromPathA
        190   3E 00096903 ILCreateFromPathW
         24   3F 0009677D ILFindChild
         16   40 00095FB2 ILFindLastID
        155   41 000961AF ILFree
        153   42 00095E85 ILGetNext
        152   43 00095ED1 ILGetSize
         21   44 0009611E ILIsEqual
         23   45 000966AA ILIsParent
         26   46 000962C3 ILLoadFromStream
         17   47 00095FD7 ILRemoveLastID
         27   48 00096356 ILSaveToStream
        228   49 0015EA5F InternalExtractIconListA
        229   4A 00046F1B InternalExtractIconListW
        119   4B 00048C8A IsLFNDrive
         41   4C 00048D83 IsLFNDriveA
         42   4D 00048C8A IsLFNDriveW
         66   4E 000471C0 IsNetDrive
        680   4F 00096D6D IsUserAnAdmin
         44   50 000619A0 OpenAs_RunDLL
         81   51 000619A0 OpenAs_RunDLLA
        101   52 00061A30 OpenAs_RunDLLW
         85   53 0004F5D3 OpenRegStream
        238   54 0015235D Options_RunDLL
        255   55 0015235D Options_RunDLLA
        260   56 0015237F Options_RunDLLW
        171   57 00048F7F PathCleanupSpec
         92   58 00049C9D PathGetShortPath
         43   59 000494A5 PathIsExe
        240   5A 00049D4B PathIsSlowA
        239   5B 00049D07 PathIsSlowW
         47   5C 000497FF PathMakeUniqueName
        653   5D 0004A1DD PathProcessCommand
         49   5E 0004944B PathQualify
         51   5F 0004A0B9 PathResolve
         75   60 0004981C PathYetAnotherMakeUniqueName
         62   61 0004BB69 PickIconDlg
         13   62 00057B74 PifMgr_CloseProperties
         10   63 000578EB PifMgr_GetProperties
          9   64 00058675 PifMgr_OpenProperties
         11   65 0005819D PifMgr_SetProperties
        261   66 0004C9F3 PrintersGetCommand_RunDLL
        262   67 0004C9F3 PrintersGetCommand_RunDLLA
        263   68 0004CA5B PrintersGetCommand_RunDLLW
        654   69 0003BD66 ReadCabinetState
        524   6A 0008ECC8 RealDriveType
        264   6B 00093FD6 RealShellExecuteA
        265   6C 00093E92 RealShellExecuteExA
        266   6D 00093F34 RealShellExecuteExW
        267   6E 00094002 RealShellExecuteW
        268   6F 0005246A RegenerateUserEnvironment
         59   70 0004DEEE RestartDialog
        730   71 0004D8B7 RestartDialogEx
        167   72 0004CBBE SHAddFromPropSheetExtArray
        269   73 000A7CF8 SHAddToRecentDocs
        196   74 00047F2F SHAlloc
        520   75 0004E42C SHAllocShared
        270   76 000A80EE SHAppBarMessage
        271   77 00066FCC SHBindToParent
        272   78 000AAD2E SHBrowseForFolder
        273   79 000AAD2E SHBrowseForFolderA
        274   7A 000AAC3B SHBrowseForFolderW
        147   7B 000481ED SHCLSIDFromString
        644   7C 0009AA79 SHChangeNotification_Lock
        645   7D 0009AAAA SHChangeNotification_Unlock
        275   7E 0009D2CD SHChangeNotify
          4   7F 0009D23D SHChangeNotifyDeregister
          2   80 0009D154 SHChangeNotifyRegister
        276   81 0009D51A SHChangeNotifySuspendResume
         89   82 0009A771 SHCloneSpecialIDList
        102   83 00048716 SHCoCreateInstance
        165   84 0003F186 SHCreateDirectory
        277   85 0003F198 SHCreateDirectoryExA
        278   86 0003F059 SHCreateDirectoryExW
        743   87 000A56A2 SHCreateFileExtractIconW
        279   88 00155468 SHCreateLocalServerRunDll
        280   89 000AF03C SHCreateProcessAsUserW
        168   8A 0004CD70 SHCreatePropSheetExtArray
        281   8B 00062196 SHCreateQueryCancelAutoPlayMoniker
        256   8C 00088C5F SHCreateShellFolderView
        174   8D 000B397B SHCreateShellFolderViewEx
        282   8E 000A53D3 SHCreateShellItem
         74   8F 0003BAD1 SHCreateStdEnumFmtEtc
          3   90 00091C44 SHDefExtractIconA
          6   91 00091B1C SHDefExtractIconW
        169   92 0004CB91 SHDestroyPropSheetExtArray
         88   93 0008B3D9 SHDoDragDrop
        283   94 0003B9CD SHEmptyRecycleBinA
        284   95 0003B96A SHEmptyRecycleBinW
        285   96 000A8236 SHEnableServiceObject
        286   97 00067AB4 SHEnumerateUnreadMailAccountsW
        287   98 000460D3 SHExtractIconsW
        288   99 000444B6 SHFileOperation
        289   9A 000444B6 SHFileOperationA
        290   9B 000441D5 SHFileOperationW
         90   9C 000B770F SHFindFiles
        149   9D 000B5818 SHFind_InitMenuPopup
        121   9E 000481D5 SHFlushClipboard
        526   9F 0009905C SHFlushSFCache
        291   A0 0006CC8C SHFormatDrive
        195   A1 00047F66 SHFree
        292   A2 0003EBB1 SHFreeNameMappings
        523   A3 0004E43E SHFreeShared
        750   A4 00068619 SHGetAttributesFromDataObject
        293   A5 000A4436 SHGetDataFromIDListA
        294   A6 000A4352 SHGetDataFromIDListW
        295   A7 000BBE17 SHGetDesktopFolder
        296   A8 00047336 SHGetDiskFreeSpaceA
        297   A9 00047336 SHGetDiskFreeSpaceExA
        298   AA 00047330 SHGetDiskFreeSpaceExW
        299   AB 000A40A5 SHGetFileInfo
        300   AC 000A40A5 SHGetFileInfoA
        301   AD 000A3F61 SHGetFileInfoW
        302   AE 00099FF8 SHGetFolderLocation
        303   AF 00099118 SHGetFolderPathA
        304   B0 00099222 SHGetFolderPathAndSubDirA
        305   B1 0009917F SHGetFolderPathAndSubDirW
        306   B2 0009906D SHGetFolderPathW
        307   B3 000BC6AC SHGetIconOverlayIndexA
        308   B4 000BC600 SHGetIconOverlayIndexW
        309   B5 000A825A SHGetInstanceExplorer
        310   B6 00047F0B SHGetMalloc
        311   B7 000A4E2B SHGetNewLinkInfo
        179   B8 000A4E2B SHGetNewLinkInfoA
        180   B9 000A4BC6 SHGetNewLinkInfoW
        312   BA 00065CE4 SHGetPathFromIDList
        313   BB 00065CE4 SHGetPathFromIDListA
        314   BC 00065C7B SHGetPathFromIDListW
         98   BD 00066245 SHGetRealIDL
        709   BE 0004AC9F SHGetSetFolderCustomSettingsW
         68   BF 0006AB79 SHGetSetSettings
        315   C0 0006B2F1 SHGetSettings
        749   C1 000688ED SHGetShellStyleHInstance
        316   C2 0009A74F SHGetSpecialFolderLocation
        317   C3 00099158 SHGetSpecialFolderPathA
        318   C4 0009A0BC SHGetSpecialFolderPathW
        319   C5 00067B4C SHGetUnreadMailCountW
        193   C6 0009B43A SHHandleUpdateImage
        320   C7 00047971 SHHelpShortcuts_RunDLL
        321   C8 00047971 SHHelpShortcuts_RunDLLA
        322   C9 000479C1 SHHelpShortcuts_RunDLLW
         28   CA 000968EB SHILCreateFromPath
        323   CB 0004C8F5 SHInvokePrinterCommandA
        324   CC 0004C8C7 SHInvokePrinterCommandW
        325   CD 0006711D SHIsFileAvailableOffline
        747   CE 000BFEF5 SHLimitInputEdit
        326   CF 000A8228 SHLoadInProc
        327   D0 000C19FB SHLoadNonloadedIconOverlayIdentifiers
        151   D1 001AEFFA SHLoadOLE
        521   D2 0004E432 SHLockShared
        148   D3 000A3B62 SHMapIDListToImageListIndexAsync
         77   D4 000A39B6 SHMapPIDLToSystemImageListIndex
        716   D5 000C10F7 SHMultiFileProperties
        178   D6 000479C6 SHObjectProperties
        328   D7 000A5342 SHOpenFolderAndSelectItems
         80   D8 0004EBA8 SHOpenPropSheetW
        329   D9 000967B7 SHParseDisplayName
        330   DA 0006A139 SHPathPrepareForWriteA
        331   DB 0006A0A3 SHPathPrepareForWriteW
        685   DC 000BD69E SHPropStgCreate
        688   DD 000BF132 SHPropStgReadMultiple
        689   DE 000BF2BF SHPropStgWriteMultiple
        332   DF 0003B6F6 SHQueryRecycleBinA
        333   E0 0003B66B SHQueryRecycleBinW
        170   E1 0004CC0F SHReplaceFromPropSheetExtArray
        100   E2 0006957E SHRestricted
        161   E3 000456DB SHRunControlPanel
        176   E4 000A824E SHSetInstanceExplorer
        334   E5 000A5510 SHSetLocalizedName
        335   E6 00067D3C SHSetUnreadMailCountW
         73   E7 000B31B5 SHShellFolderView_Message
        162   E8 0006B649 SHSimpleIDListFromPath
         14   E9 000B95C8 SHStartNetConnectionDialogW
        245   EA 00096C71 SHTestTokenMembership
        522   EB 0004E438 SHUnlockShared
        191   EC 0009D713 SHUpdateImageA
        192   ED 0009D5D8 SHUpdateImageW
        336   EE 0003AA33 SHUpdateRecycleBinIcon
        173   EF 00092792 SHValidateUNC
        337   F0 00050E8B SheChangeDirA
        338   F1 0005112D SheChangeDirExA
        339   F2 00050EC9 SheChangeDirExW
        340   F3 00050D08 SheChangeDirW
        341   F4 0006025C SheConvertPathW
        342   F5 000511C6 SheFullPathA
        343   F6 00051271 SheFullPathW
        344   F7 0005116B SheGetCurDrive
        345   F8 00050CBA SheGetDirA
        346   F9 00051322 SheGetDirExW
        347   FA 00050C39 SheGetDirW
        348   FB 00050BC9 SheGetPathOffsetW
        349   FC 0005FDFC SheRemoveQuotesA
        350   FD 0005FDCA SheRemoveQuotesW
        351   FE 0005118C SheSetCurDrive
        352   FF 0006030F SheShortenPathA
        353  100 0005FE26 SheShortenPathW
        354  101 00037BF5 ShellAboutA
        355  102 00037B9B ShellAboutW
        356  103 000AD621 ShellExec_RunDLL
        357  104 000AD621 ShellExec_RunDLLA
        358  105 000AD663 ShellExec_RunDLLW
        359  106 000940A2 ShellExecuteA
        360  107 00093CD6 ShellExecuteEx
        361  108 00093CD6 ShellExecuteExA
        362  109 00093BFC ShellExecuteExW
        363  10A 0009402E ShellExecuteW
        364  10B 0015EA5F ShellHookProc
        183  10C 00048103 ShellMessageBoxA
        182  10D 001AFAFC ShellMessageBoxW
         72  10E 00091E12 Shell_GetCachedImageIndex
         71  10F 00091A7B Shell_GetImageLists
         67  110 00063F30 Shell_MergeMenus
        365  111 000A7EE3 Shell_NotifyIcon
        366  112 000A7EE3 Shell_NotifyIconA
        367  113 000A7D9C Shell_NotifyIconW
        103  114 00093AE3 SignalFileOpen
        368  115 001AFB02 StrChrA
        369  116 001AFB08 StrChrIA
        370  117 001AFB0E StrChrIW
        371  118 001AFB14 StrChrW
        372  119 001AFB1A StrCmpNA
        373  11A 001AFB20 StrCmpNIA
        374  11B 001AFB26 StrCmpNIW
        375  11C 001AFB2C StrCmpNW
        376  11D 00050830 StrCpyNA
        377  11E 000507F6 StrCpyNW
        378  11F 000508E4 StrNCmpA
        379  120 000509BB StrNCmpIA
        380  121 00050955 StrNCmpIW
        381  122 00050865 StrNCmpW
        382  123 00050A70 StrNCpyA
        383  124 00050A2C StrNCpyW
        384  125 001AFB32 StrRChrA
        385  126 001AFB38 StrRChrIA
        386  127 001AFB3E StrRChrIW
        387  128 001AFB44 StrRChrW
        388  129 00050B1F StrRStrA
        389  12A 001AFB4A StrRStrIA
        390  12B 001AFB50 StrRStrIW
        391  12C 00050AB9 StrRStrW
        392  12D 001AFB56 StrStrA
        393  12E 001AFB5C StrStrIA
        394  12F 001AFB62 StrStrIW
        395  130 001AFB68 StrStrW
        396  131 000AD4D6 WOWShellExecute
        164  132 000489DE Win32DeleteFile
        652  133 0003BEF5 WriteCabinetState
          5      000CC900 [NONAME]
          7      000C8754 [NONAME]
          8      000C874F [NONAME]
         12      000B9627 [NONAME]
         15      000962A2 [NONAME]
         20      000961BE [NONAME]
         29      0004A024 [NONAME]
         30               [NONAME] (forwarded to shlwapi.PathBuildRootW)
         31      00049FDC [NONAME]
         32      0004A012 [NONAME]
         33      00049FE8 [NONAME]
         34      0004A018 [NONAME]
         35      00049FF4 [NONAME]
         36      0004A09B [NONAME]
         37               [NONAME] (forwarded to shlwapi.PathCombineW)
         38      0004A01E [NONAME]
         39               [NONAME] (forwarded to shlwapi.PathIsUNCW)
         40               [NONAME] (forwarded to shlwapi.PathIsRelativeW)
         45      0004A072 [NONAME]
         46      0004A054 [NONAME]
         48      0004A042 [NONAME]
         50      00049FEE [NONAME]
         52      00049FCA [NONAME]
         53      0004D92A [NONAME]
         54      0004DED2 [NONAME]
         55      0004A04E [NONAME]
         56      0004A048 [NONAME]
         57               [NONAME] (forwarded to shlwapi.PathGetDriveNumberW)
         58      00063D56 [NONAME]
         60      0004DF04 [NONAME]
         61      00095D47 [NONAME]
         65      0011995F [NONAME]
         69      000B93C9 [NONAME]
         70      00045A24 [NONAME]
         76      0004CD86 [NONAME]
         78      000487C7 [NONAME]
         79      00048813 [NONAME]
         82      00150AD6 [NONAME]
         83      00070D09 [NONAME]
         84      0004851F [NONAME]
         86      000481DB [NONAME]
         87      000481E1 [NONAME]
         91      000B764F [NONAME]
         93      000489EC [NONAME]
         94      00048A24 [NONAME]
         95      00066AA1 [NONAME]
         96      000487A5 [NONAME]
         97      000939CD [NONAME]
         99      00063ECC [NONAME]
        122      000527D1 [NONAME]
        123      000481E7 [NONAME]
        126      00064CD5 [NONAME]
        127      0006478F [NONAME]
        128      0003C02E [NONAME]
        130      0008B291 [NONAME]
        145      00049FD6 [NONAME]
        146      0004D46C [NONAME]
        156      000961C3 [NONAME]
        158      00048F05 [NONAME]
        159      0004A06C [NONAME]
        160      000B9485 [NONAME]
        163      0004884F [NONAME]
        172      000A5193 [NONAME]
        175      0009A0BC [NONAME]
        177      0008B3D1 [NONAME]
        181      000A561E [NONAME]
        184      00064C80 [NONAME]
        185      0011995C [NONAME]
        186      000961FB [NONAME]
        187      000962B6 [NONAME]
        188      00151FDC [NONAME]
        194      0004CC70 [NONAME]
        197      0011995F [NONAME]
        198      000A5BB6 [NONAME]
        200      00156762 [NONAME]
        201      00154AD9 [NONAME]
        202      00150A45 [NONAME]
        203      00063BA9 [NONAME]
        204      00063BBE [NONAME]
        205      0009F5E1 [NONAME]
        209      00063BD6 [NONAME]
        210      00063D33 [NONAME]
        211      001AEFF2 [NONAME]
        212      0004CA60 [NONAME]
        213      0009DB11 [NONAME]
        214      0009DBAE [NONAME]
        215      000B95C8 [NONAME]
        230      0008E5A3 [NONAME]
        231      000995DE [NONAME]
        232      0009927D [NONAME]
        233      000BD294 [NONAME]
        234      000BCF76 [NONAME]
        235      00096B88 [NONAME]
        236      00096B96 [NONAME]
        237      0006B8B3 [NONAME]
        241      00067788 [NONAME]
        242      000CC8FB [NONAME]
        243      00048B5B [NONAME]
        244      000695E4 [NONAME]
        246      00096CC2 [NONAME]
        247      00096CFE [NONAME]
        248      00096D04 [NONAME]
        249      0004A060 [NONAME]
        250      00049FE2 [NONAME]
        251      00049FD0 [NONAME]
        252      0004A066 [NONAME]
        253      00096D53 [NONAME]
        254      0004DEE0 [NONAME]
        257      001AEFFA [NONAME]
        258      00096D87 [NONAME]
        259      0011F264 [NONAME]
        525      0008EC75 [NONAME]
        640      0009D5AF [NONAME]
        641      0009D5D3 [NONAME]
        643      0009B48E [NONAME]
        646      000CC8FB [NONAME]
        648      00093911 [NONAME]
        650      0004A05A [NONAME]
        651      0003BEE7 [NONAME]
        660      000918B4 [NONAME]
        681      001AFAF6 [NONAME]
        683      000BD61C [NONAME]
        684      000BD61C [NONAME]
        690      000BD85E [NONAME]
        691      0006B44A [NONAME]
        702      0006DB3A [NONAME]
        703      001AFAEA [NONAME]
        704      001AFAF0 [NONAME]
        707      0004ED52 [NONAME]
        708      0004AFE8 [NONAME]
        711      00069266 [NONAME]
        712      000BB582 [NONAME]
        713      00048ED7 [NONAME]
        714      00048E21 [NONAME]
        715      00156787 [NONAME]
        719      00157559 [NONAME]
        720      0009A3F4 [NONAME]
        721      0009A360 [NONAME]
        722      00048557 [NONAME]
        723      000AF39F [NONAME]
        724      00153280 [NONAME]
        725      000941FA [NONAME]
        726      000662E8 [NONAME]
        727      00091AB3 [NONAME]
        731      00157D0C [NONAME]
        732      0015771A [NONAME]
        733      0007137D [NONAME]
        740      000AB7FB [NONAME]
        744      00078FAD [NONAME]
        745      00078DD1 [NONAME]
        748      000BFF80 [NONAME]
        751      000687C0 [NONAME]
        752      000B985B [NONAME]
        753      000778E9 [NONAME]
        754      000BFDA9 [NONAME]
        755      000643DD [NONAME]
        756      0008BDF9 [NONAME]

  Summary

       1C000 .data
       20000 .reloc
      5E0000 .rsrc
      1D5000 .text


cool :)

Thanks. Thats great!