久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Mac OS X 中的唯一硬件 ID

Unique hardware ID in Mac OS X(Mac OS X 中的唯一硬件 ID)
本文介紹了Mac OS X 中的唯一硬件 ID的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

Mac OS X 開發對我來說是一個相當新的動物,我正在移植一些軟件.對于軟件許可和注冊,我需要能夠生成某種硬件 ID.它不必是任何花哨的東西;以太網MAC地址、硬盤串口、CPU串口之類的.

Mac OS X development is a fairly new animal for me, and I'm in the process of porting over some software. For software licensing and registration I need to be able to generate some kind of hardware ID. It doesn't have to be anything fancy; Ethernet MAC address, hard drive serial, CPU serial, something like that.

我已經在 Windows 上了解了它,但在 Mac 上我沒有任何線索.任何我需要做什么的想法,或者我可以去哪里了解這方面的信息都會很棒!

I've got it covered on Windows, but I haven't a clue on Mac. Any idea of what I need to do, or where I can go for information on this would be great!

對于對此感興趣的其他人,這是我最終在 Qt 的 QProcess 類中使用的代碼:

For anybody else that is interested in this, this is the code I ended up using with Qt's QProcess class:

QProcess proc;

QStringList args;
args << "-c" << "ioreg -rd1 -c IOPlatformExpertDevice |  awk '/IOPlatformUUID/ { print $3; }'";
proc.start( "/bin/bash", args );
proc.waitForFinished();

QString uID = proc.readAll();

注意:我使用的是 C++.

Note: I'm using C++.

推薦答案

試試這個終端命令:

ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformUUID/ { split($0, line, """); printf("%s
", line[4]); }'

來自這里

這是用 Cocoa 包裝的命令(可能會更簡潔一些):

Here is that command wrapped in Cocoa (which could probably be made a bit cleaner):

NSArray * args = [NSArray arrayWithObjects:@"-rd1", @"-c", @"IOPlatformExpertDevice", @"|", @"grep", @"model", nil];
NSTask * task = [NSTask new];
[task setLaunchPath:@"/usr/sbin/ioreg"];
[task setArguments:args];

NSPipe * pipe = [NSPipe new];
[task setStandardOutput:pipe];
[task launch];

NSArray * args2 = [NSArray arrayWithObjects:@"/IOPlatformUUID/ { split($0, line, "\""); printf("%s\n", line[4]); }", nil];
NSTask * task2 = [NSTask new];
[task2 setLaunchPath:@"/usr/bin/awk"];
[task2 setArguments:args2];

NSPipe * pipe2 = [NSPipe new];
[task2 setStandardInput:pipe];
[task2 setStandardOutput:pipe2];
NSFileHandle * fileHandle2 = [pipe2 fileHandleForReading];
[task2 launch];

NSData * data = [fileHandle2 readDataToEndOfFile];
NSString * uuid = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

這篇關于Mac OS X 中的唯一硬件 ID的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How do I set the icon for my application in visual studio 2008?(如何在 Visual Studio 2008 中為我的應用程序設置圖標?)
Convert CString to const char*(將 CString 轉換為 const char*)
Remove secure warnings (_CRT_SECURE_NO_WARNINGS) from projects by default in Visual Studio(默認情況下,在 Visual Studio 中從項目中刪除安全警告 (_CRT_SECURE_NO_WARNINGS))
How do I start a new CUDA project in Visual Studio 2008?(如何在 Visual Studio 2008 中啟動新的 CUDA 項目?)
Exporting classes containing `std::` objects (vector, map etc.) from a DLL(從 DLL 導出包含 `std::` 對象(向量、映射等)的類)
What are some reasons a Release build would run differently than a Debug build(發布版本與調試版本的運行方式不同的一些原因是什么)
主站蜘蛛池模板: 亚洲欧美日韩激情 | 一级免费毛片 | 国产一级免费在线观看 | 电影在线| 伊人最新网址 | 欧美福利久久 | 久久精品二区亚洲w码 | 久久久婷婷 | 中文精品久久 | caoporn免费| 免费在线精品视频 | 二区亚洲 | 国产精品成人一区二区三区夜夜夜 | 中文字幕久久久 | 男人天堂久久 | 成人免费在线播放视频 | 欧美a免费| 国产区精品视频 | 国产女人叫床高潮大片免费 | 丁香婷婷成人 | 久久逼逼 | 国产精品久久av | 久久亚洲国产精品 | 欧美在线激情 | 久久99视频 | 日韩在线电影 | 亚洲综合色| 粉嫩av | 国产欧美一区二区三区国产幕精品 | 九热在线 | 99re视频在线观看 | 欧美福利| 中文字幕第一页在线 | 一级做a爰片性色毛片 | 国产精品成人一区二区三区夜夜夜 | 久久99网| 成年人免费在线视频 | 一本色道久久综合亚洲精品高清 | 欧美精品乱码99久久影院 | 成人在线视频免费观看 | 成人欧美一区二区三区黑人孕妇 |