に格納されている。
db = DmOpenDatabaseByTypeCreator (type, creator, mode);
MemHandle resH; Char *resP; Char name[dmDBNameLength]; resH = DmGet1Resource (ainRsc, ainID); if (resH) { resP = (Char *)MemHandleLock (resH); if (resP != NULL) { // アプリ名(resP)を文字列nameにコピー // StrCopy (name, resP); MemHandleUnlock (resH); } DmReleaseResource (resH); }
DmCloseDatabase (db);
ちなみに、
DmDatabaseInfo (cardNo, dbID, &name, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
SysCreateDataBaseList (type, creator, &dbCount, &dbIDs, lookupName);
サンプル (アプリ名のリストを作成して、リストオブジェクト(listID)にセット)
SysDBListItemType *dbListIDsP; Boolean status; UInt16 dbCount; MemHandle dbIDs; Char **listArray ListPtr listP; status = SysCreateDataBaseList (sysFileTApplication, NULL, &dbCount, &dbIDs, true); if (status == true && dbCount > 0) { dbListIDsP = MemHandleLock (dbIDs); for (i = 0; i < dbCount; i ++) listArray[i] = dbListIDsP[i].name; listP = (ListPtr)GetObjectPtr (listID); LstSetListChoices (listP, listArray, dbCount); LstSetHeight (listP, dbCount); ... MemHandleUnlock (dbIDs); }
AND OR
アプリ名の格納場所
アプリ名の格納場所
アプリ名(ランチャーなどに表示される名前)は普通、に格納されている。
アプリ名の取得方法1
db = DmOpenDatabaseByTypeCreator (type, creator, mode);
アプリ名の取得方法1
などで、データベースを開いた直後に、 と、こんな感じ(で良いと思う)。nameにアプリ名が格納される。DmCloseDatabase (db);
を忘れずに。ちなみに、
で得られる"name"はデータベース名。アプリ名の取得方法2
アプリ名の取得方法2
アプリケーションのリストを作成するなら、SysCreateDataBaseList (type, creator, &dbCount, &dbIDs, lookupName);
で取得するのが簡単確実。サンプル (アプリ名のリストを作成して、リストオブジェクト(listID)にセット)