[[iambic Mail:http://www.iambic.com/mail/palmos/]]を使って、他のアプリからメールを送る方法。 ''[[iambic Mail:http://www.iambic.com/mail/palmos/]]'' を使って、他のアプリからメールを送る方法。 // 起動コード #define sysAppLaunchCmdNewEmail sysAppLaunchCmdCustomBase + 0x0100 // コマンドブロック // パラメータブロック typedef struct { UInt32 launchCreator; // 呼出すアプリのクリエータID Char toField[128]; // 宛先 UInt32 launchCreator; // 呼出すアプリのクリエータID Char toField[128]; // 宛先(メールアドレス) } NewEmailParamsType; launchCreatorに呼出す側のクリエータIDを入れておくと、iambic Mailの処理が終わった時点で、sysAppLaunchCmdNormalLaunchで元のアプリを起動する。 -宛先だけが入ったメール編集画面が起動。 -launchCreatorに呼出す側のクリエータIDを入れておくと、iambic Mailの処理が終わった時点で、起動コード「[[sysAppLaunchCmdNormalLaunch:http://www.palmos.com/dev/support/docs/palmos/AppLaunchCodes.html#1011390]]」で元のアプリを起動する。 サンプル UInt16 cardNo; LocalID dbID; DmSearchStateType searchInfo; DmSearchStateType searchInfo; NewEmailParamsType *cmdPBP; if (DmGetNextDatabaseByTypeCreator(true, &searchInfo, sysFileTApplication, 'JetM', true, &cardNo, &dbID) != dmErrCantFind) { NewEmailParamsType *cmdPBP = (NewEmailParamsType *)MemPtrNew(sizeof(NewEmailParamsType)); cmdPBP = (NewEmailParamsType *)MemPtrNew(sizeof(NewEmailParamsType)); cmdPBP->launchCreator = MyApplicationCreatorID; StrCopy (cmdPBP->toField, MyEmailAddressStr); if (MemPtrSetOwner(cmdPBP, 0) == errNone) SysUIAppSwitch (cardNo, dbID, sysAppLaunchCmdNewEmail, cmdPBP); else MemPtrFree (cmdPBP); }
AND OR