我试图让当前用户上次登录.我可能是当前的会议,也可能是之前的会议.
我正在调用GetUserName()来获取当前用户名.我将其提供给NetUserGetInfo()以尝试获取上次登录时间.所有这些都失败,错误2221(未找到用户).当我尝试使用"管理员"时,它可以工作.即使我对用户名进行硬编码,也会返回2221.这就是我使用的内容:
nStatus = NetUserGetInfo(NULL, L"administrator", dwLevel, (LPBYTE *) & pBuf);
Run Code Online (Sandbox Code Playgroud)
如何获得当前用户的上次登录时间?
谢谢,代码随时欢迎.
这是我目前使用的完整代码:
DWORD dwLevel = 2;
NET_API_STATUS nStatus;
LPTSTR sStringSid = NULL;
LPUSER_INFO_0 pBuf = NULL;
LPUSER_INFO_2 pBuf2 = NULL;
WCHAR UserName[256];
DWORD nUserName = sizeof(UserName);
if(GetUserName(UserName, &nUserName))
{
printf("information for %ls\n", UserName);
nStatus = NetUserGetInfo(NULL, UserName, dwLevel, (LPBYTE *) & pBuf);
if (nStatus == NERR_Success)
{
pBuf2 = (LPUSER_INFO_2) pBuf;
printf("\tUser account name: %ls\n", pBuf2->usri2_name);
printf("\tLast logon (seconds since January 1, 1970 GMT): %d\n", pBuf2->usri2_last_logon);
printf("\tLast logoff …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用公钥加密签名并稍后验证文件.该文件是一个简单的纯文本文件,其中包含用于创作目的的用户信息.
我为公钥加密算法的C实现尝试了不同的站点,但我没有找到任何东西.许多站点都指向使用证书(x.509等),但这远远超出我的需要.我只是在寻找一种生成公钥和私钥的方法,并使用一种相对众所周知的算法来签名和验证文件.
有没有指向纯C实现的指针?重点是我可以重用的代码,而不是外部库.主要问题是我不想链接完整的lib及其依赖关系,以便拥有一个非常基本的公钥系统.
谢谢.
我wchar_t *需要在需要的函数上使用CFStringref
我尝试过使用,CFStringCreateWithCharacters但我没有随处可见.
所以,如果我有:
wchar_t * widecharvar = L"some value";
CFStringRef stringref;
Run Code Online (Sandbox Code Playgroud)
如何转换和复制widecharvar到stringref?该值将用于SecRequirementCreateWithString()
谢谢
我有一个用 Objective-C Cocoa 编写的 Mac OS X 应用程序。您可以在上一个问题中看到大部分代码。本质上,您单击主窗口(应用程序委托)上的按钮,它会打开另一个窗口,用户可以在其中输入信息。
在以下代码中(当用户按下应用程序主窗口中的按钮时调用)
- (IBAction)OnLaunch:(id)sender {
MyClass *controllerWindow = [[MyClass alloc] initWithWindowNibName:@"pop"];
[controllerWindow showWindow:self];
NSLog(@"this is a log line");
}
Run Code Online (Sandbox Code Playgroud)
NSLog我打电话后,线路立即得到打印机showWindow。有什么办法可以等到controllerWindow关闭后再继续NSlog吗?
原因是用户在我打开的新窗口上设置了一个值,我需要在同一窗口上收集该值,OnLaunch所以我需要等待。
我知道模式窗口在 Mac 中是不好的形式,但我无法控制此功能。
我尝试过
[NSApp runModalForWindow:[controllerWindow window]];
Run Code Online (Sandbox Code Playgroud)
然后将弹出窗口设置为
[[NSApplication sharedApplication] runModalForWindow:popupwin];
Run Code Online (Sandbox Code Playgroud)
它可以工作,但焦点再也不会传递到主窗口了,谢谢!
这个问题让我回到了我的大学时代,但由于那些日子(20多年前)我没有编码,所以我有点生疏了.
基本上我有256个元素的数组.数组中可能有1个元素,14或256.此数组包含从系统请求数据的人的用户名.我正在尝试计算列表中的重复项,以便我可以为具有大多数请求的用户提供优先级.所以,如果我有一个列表,如:
{john, john, paul, james, john, david, charles, charles, paul, john}
Run Code Online (Sandbox Code Playgroud)
我会选择约翰,因为它出现了4次.我可以迭代数组并将元素复制到另一个并开始计数,但一段时间后它会变得复杂.正如我所说,我非常生疏.
我相信有一个简单的方法可以做到这一点.有任何想法吗?代码在这里非常有用.谢谢!
编辑:
缓冲区声明为:
static WCHAR userbuffer[150][128];
Run Code Online (Sandbox Code Playgroud)
最多可以有150个用户,每个用户名长达128个字符.
我有一个程序以下列格式返回数据:
<CFData 0x1001219c0 [0x7fff7027aee0]>{length = 20, capacity = 20, bytes = 0x8deead13b8ae7057f6a629fdaae5e1200bcb8cf5}
Run Code Online (Sandbox Code Playgroud)
我需要提取8deead13b8ae7057f6a629fdaae5e1200bcb8cf5(是的,减去0x).我尝试使用sscanf并传递一些正则表达式,但我对此没有任何线索.
知道怎么做吗?代码片段表示赞赏.
c ×5
macos ×2
arrays ×1
cocoa ×1
duplicates ×1
encryption ×1
linux ×1
objective-c ×1
substring ×1
windows ×1